Documentation
¶
Overview ¶
Package gitlab implements a GitLab API client.
Example (BasicAuth) ¶
Example_basicAuth demonstrates authenticating with username and password. This uses OAuth2 password credentials flow under the hood.
// Note: The setupBasicAuthMock() function below is ONLY for the example purpose
// and has nothing to do with how a user will use client-go.
// In production, you would authenticate against a real GitLab instance.
client, server := setupBasicAuthMock()
defer server.Close()
// Use the authenticated client
projects, _, _ := client.Projects.ListProjects(nil)
fmt.Printf("Found %d projects\n", len(projects))
Output: Found 2 projects
Example (FileUpload) ¶
Example_fileUpload demonstrates uploading a file to a GitLab repository.
// Note: The setupFileUploadMock() function below is ONLY for the example purpose
// and has nothing to do with how a user will use client-go.
// In production, you would use a real authenticated GitLab client.
client, server := setupFileUploadMock()
defer server.Close()
// Create a new file in the repository
opts := &gitlab.CreateFileOptions{
Branch: gitlab.Ptr("main"),
Content: gitlab.Ptr("# My Project\n\nDocumentation for this project."),
CommitMessage: gitlab.Ptr("Add README"),
}
file, _, _ := client.RepositoryFiles.CreateFile(
"my-group/my-project",
"README.md",
opts,
)
fmt.Printf("Created %s on branch %s\n", file.FilePath, file.Branch)
Output: Created README.md on branch main
Example (KeysetPagination) ¶
Example_keysetPagination demonstrates keyset-based pagination. Keyset pagination is more efficient for large datasets and prevents duplicates when data changes during pagination.
// Note: The setupPaginationMock() function below is ONLY for the example purpose
// and has nothing to do with how a user will use client-go.
// In production, you would use a real authenticated GitLab client.
client, server := setupPaginationMock(true)
defer server.Close()
// Configure keyset pagination
opts := &gitlab.ListProjectsOptions{
ListOptions: gitlab.ListOptions{
OrderBy: "id",
Pagination: "keyset",
PerPage: 5,
Sort: "asc",
},
Owned: gitlab.Ptr(true),
}
// Scan2 works with both pagination types
count := 0
for range gitlab.Must(gitlab.Scan2(func(p gitlab.PaginationOptionFunc) ([]*gitlab.Project, *gitlab.Response, error) {
return client.Projects.ListProjects(opts, p)
})) {
count++
}
fmt.Printf("Iterated over %d projects\n", count)
Output: Iterated over 2 projects
Example (Pagination) ¶
Example_pagination demonstrates standard offset-based pagination. This automatically handles pagination using page numbers.
// Note: The setupPaginationMock() function below is ONLY for the example purpose
// and has nothing to do with how a user will use client-go.
// In production, you would use a real authenticated GitLab client.
client, server := setupPaginationMock(false)
defer server.Close()
// Configure pagination options
opts := &gitlab.ListProjectsOptions{
ListOptions: gitlab.ListOptions{
PerPage: 10,
Page: 1,
},
Owned: gitlab.Ptr(true),
}
// Scan2 automatically handles pagination
count := 0
for range gitlab.Must(gitlab.Scan2(func(p gitlab.PaginationOptionFunc) ([]*gitlab.Project, *gitlab.Response, error) {
return client.Projects.ListProjects(opts, p)
})) {
count++
}
fmt.Printf("Iterated over %d projects\n", count)
Output: Iterated over 2 projects
Index ¶
- Constants
- Variables
- func CheckResponse(r *http.Response) error
- func HasStatusCode(err error, statusCode int) bool
- func HookEventToken(r *http.Request) string
- func Must[T any](it iter.Seq2[T, error]) iter.Seq[T]
- func ParseHook(eventType EventType, payload []byte) (event any, err error)
- func ParseSystemhook(payload []byte) (event any, err error)
- func ParseWebhook(eventType EventType, payload []byte) (event any, err error)
- func PathEscape(s string) string
- func Ptr[T any](v T) *T
- func Scan[T any](f func(p PaginationOptionFunc) ([]T, *Response, error)) (iter.Seq[T], func() error)
- func Scan2[T any](f func(p PaginationOptionFunc) ([]T, *Response, error)) iter.Seq2[T, error]
- func ScanAndCollect[T any](f func(p PaginationOptionFunc) ([]T, *Response, error)) ([]T, error)
- func ScanAndCollectN[T any](f func(p PaginationOptionFunc) ([]T, *Response, error), n int) ([]T, error)
- func Stringify(message any) string
- type AcceptMergeRequestOptions
- type AccessControlValue
- type AccessLevelDetails
- type AccessLevelValue
- type AccessRequest
- type AccessRequestsService
- func (s *AccessRequestsService) ApproveGroupAccessRequest(gid any, user int64, opt *ApproveAccessRequestOptions, ...) (*AccessRequest, *Response, error)
- func (s *AccessRequestsService) ApproveProjectAccessRequest(pid any, user int64, opt *ApproveAccessRequestOptions, ...) (*AccessRequest, *Response, error)
- func (s *AccessRequestsService) DenyGroupAccessRequest(gid any, user int64, options ...RequestOptionFunc) (*Response, error)
- func (s *AccessRequestsService) DenyProjectAccessRequest(pid any, user int64, options ...RequestOptionFunc) (*Response, error)
- func (s *AccessRequestsService) ListGroupAccessRequests(gid any, opt *ListAccessRequestsOptions, options ...RequestOptionFunc) ([]*AccessRequest, *Response, error)
- func (s *AccessRequestsService) ListProjectAccessRequests(pid any, opt *ListAccessRequestsOptions, options ...RequestOptionFunc) ([]*AccessRequest, *Response, error)
- func (s *AccessRequestsService) RequestGroupAccess(gid any, options ...RequestOptionFunc) (*AccessRequest, *Response, error)
- func (s *AccessRequestsService) RequestProjectAccess(pid any, options ...RequestOptionFunc) (*AccessRequest, *Response, error)
- type AccessRequestsServiceInterface
- type AccessTokenAuthSource
- type AccessTokenSort
- type AccessTokenState
- 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 AddInstanceDeployKeyOptions
- type AddIssueDiscussionNoteOptions
- type AddLicenseOptions
- 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 AdminCompliancePolicySettings
- type AdminCompliancePolicySettingsService
- func (s *AdminCompliancePolicySettingsService) GetCompliancePolicySettings(options ...RequestOptionFunc) (*AdminCompliancePolicySettings, *Response, error)
- func (s *AdminCompliancePolicySettingsService) UpdateCompliancePolicySettings(opt *UpdateAdminCompliancePolicySettingsOptions, options ...RequestOptionFunc) (*AdminCompliancePolicySettings, *Response, error)
- type AdminCompliancePolicySettingsServiceInterface
- type Agent
- type AgentToken
- type AlertManagementService
- func (s *AlertManagementService) DeleteMetricImage(pid any, alertIID int64, id int64, options ...RequestOptionFunc) (*Response, error)
- func (s *AlertManagementService) ListMetricImages(pid any, alertIID int64, opt *ListMetricImagesOptions, ...) ([]*MetricImage, *Response, error)
- func (s *AlertManagementService) UpdateMetricImage(pid any, alertIID int64, id int64, opt *UpdateMetricImageOptions, ...) (*MetricImage, *Response, error)
- func (s *AlertManagementService) UploadMetricImage(pid any, alertIID int64, content io.Reader, filename string, ...) (*MetricImage, *Response, error)
- type AlertManagementServiceInterface
- type AllHeadersAuthStrategy
- type Appearance
- type AppearanceService
- type AppearanceServiceInterface
- type Application
- type ApplicationStatistics
- type ApplicationStatisticsService
- type ApplicationStatisticsServiceInterface
- type ApplicationsService
- func (s *ApplicationsService) CreateApplication(opt *CreateApplicationOptions, options ...RequestOptionFunc) (*Application, *Response, error)
- func (s *ApplicationsService) DeleteApplication(application int64, options ...RequestOptionFunc) (*Response, error)
- func (s *ApplicationsService) ListApplications(opt *ListApplicationsOptions, options ...RequestOptionFunc) ([]*Application, *Response, error)
- type ApplicationsServiceInterface
- type ApproveAccessRequestOptions
- type ApproveMergeRequestOptions
- type ApproveOrRejectProjectDeploymentOptions
- type ApproverIDsValue
- type ArchiveOptions
- type AssigneeIDValue
- type Attestation
- type AttestationsService
- type AttestationsServiceInterface
- type AuditEvent
- type AuditEventDetails
- type AuditEventsService
- func (s *AuditEventsService) GetGroupAuditEvent(gid any, event int64, options ...RequestOptionFunc) (*AuditEvent, *Response, error)
- func (s *AuditEventsService) GetInstanceAuditEvent(event int64, options ...RequestOptionFunc) (*AuditEvent, *Response, error)
- func (s *AuditEventsService) GetProjectAuditEvent(pid any, event int64, options ...RequestOptionFunc) (*AuditEvent, *Response, error)
- func (s *AuditEventsService) ListGroupAuditEvents(gid any, opt *ListAuditEventsOptions, options ...RequestOptionFunc) ([]*AuditEvent, *Response, error)
- func (s *AuditEventsService) ListInstanceAuditEvents(opt *ListAuditEventsOptions, options ...RequestOptionFunc) ([]*AuditEvent, *Response, error)
- func (s *AuditEventsService) ListProjectAuditEvents(pid any, opt *ListAuditEventsOptions, options ...RequestOptionFunc) ([]*AuditEvent, *Response, error)
- type AuditEventsServiceInterface
- type AuthSource
- type AuthTokenStrategy
- type AuthType
- type Author
- type AvailabilityValue
- type Avatar
- type AvatarRequestsService
- type AvatarRequestsServiceInterface
- type AwardEmoji
- type AwardEmojiService
- func (s *AwardEmojiService) CreateIssueAwardEmoji(pid any, issueIID int64, opt *CreateAwardEmojiOptions, ...) (*AwardEmoji, *Response, error)
- func (s *AwardEmojiService) CreateIssuesAwardEmojiOnNote(pid any, issueID, noteID int64, opt *CreateAwardEmojiOptions, ...) (*AwardEmoji, *Response, error)
- func (s *AwardEmojiService) CreateMergeRequestAwardEmoji(pid any, mergeRequestIID int64, opt *CreateAwardEmojiOptions, ...) (*AwardEmoji, *Response, error)
- func (s *AwardEmojiService) CreateMergeRequestAwardEmojiOnNote(pid any, mergeRequestIID, noteID int64, opt *CreateAwardEmojiOptions, ...) (*AwardEmoji, *Response, error)
- func (s *AwardEmojiService) CreateSnippetAwardEmoji(pid any, snippetID int64, opt *CreateAwardEmojiOptions, ...) (*AwardEmoji, *Response, error)
- func (s *AwardEmojiService) CreateSnippetAwardEmojiOnNote(pid any, snippetIID, noteID int64, opt *CreateAwardEmojiOptions, ...) (*AwardEmoji, *Response, error)
- func (s *AwardEmojiService) DeleteIssueAwardEmoji(pid any, issueIID, awardID int64, options ...RequestOptionFunc) (*Response, error)
- func (s *AwardEmojiService) DeleteIssuesAwardEmojiOnNote(pid any, issueID, noteID, awardID int64, options ...RequestOptionFunc) (*Response, error)
- func (s *AwardEmojiService) DeleteMergeRequestAwardEmoji(pid any, mergeRequestIID, awardID int64, options ...RequestOptionFunc) (*Response, error)
- func (s *AwardEmojiService) DeleteMergeRequestAwardEmojiOnNote(pid any, mergeRequestIID, noteID, awardID int64, options ...RequestOptionFunc) (*Response, error)
- func (s *AwardEmojiService) DeleteSnippetAwardEmoji(pid any, snippetID, awardID int64, options ...RequestOptionFunc) (*Response, error)
- func (s *AwardEmojiService) DeleteSnippetAwardEmojiOnNote(pid any, snippetIID, noteID, awardID int64, options ...RequestOptionFunc) (*Response, error)
- func (s *AwardEmojiService) GetIssueAwardEmoji(pid any, issueIID, awardID int64, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
- func (s *AwardEmojiService) GetIssuesAwardEmojiOnNote(pid any, issueID, noteID, awardID int64, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
- func (s *AwardEmojiService) GetMergeRequestAwardEmoji(pid any, mergeRequestIID, awardID int64, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
- func (s *AwardEmojiService) GetMergeRequestAwardEmojiOnNote(pid any, mergeRequestIID, noteID, awardID int64, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
- func (s *AwardEmojiService) GetSnippetAwardEmoji(pid any, snippetID, awardID int64, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
- func (s *AwardEmojiService) GetSnippetAwardEmojiOnNote(pid any, snippetIID, noteID, awardID int64, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
- func (s *AwardEmojiService) ListIssueAwardEmoji(pid any, issueIID int64, opt *ListAwardEmojiOptions, ...) ([]*AwardEmoji, *Response, error)
- func (s *AwardEmojiService) ListIssuesAwardEmojiOnNote(pid any, issueID, noteID int64, opt *ListAwardEmojiOptions, ...) ([]*AwardEmoji, *Response, error)
- func (s *AwardEmojiService) ListMergeRequestAwardEmoji(pid any, mergeRequestIID int64, opt *ListAwardEmojiOptions, ...) ([]*AwardEmoji, *Response, error)
- func (s *AwardEmojiService) ListMergeRequestAwardEmojiOnNote(pid any, mergeRequestIID, noteID int64, opt *ListAwardEmojiOptions, ...) ([]*AwardEmoji, *Response, error)
- func (s *AwardEmojiService) ListSnippetAwardEmoji(pid any, snippetID int64, opt *ListAwardEmojiOptions, ...) ([]*AwardEmoji, *Response, error)
- func (s *AwardEmojiService) ListSnippetAwardEmojiOnNote(pid any, snippetIID, noteID int64, opt *ListAwardEmojiOptions, ...) ([]*AwardEmoji, *Response, error)
- type AwardEmojiServiceInterface
- type BadgeKind
- type BaseSystemEvent
- type BasicMergeRequest
- type BasicProject
- type BasicUser
- type Batch
- type BillableGroupMember
- type BillableUserMembership
- type BitbucketCloudImport
- type BitbucketServerImport
- type Blob
- type BlockingMergeRequest
- type BoardList
- type BoardListAssignee
- type BoolValue
- type Branch
- type BranchAccessDescription
- type BranchPermissionOptions
- type BranchProtectionDefaults
- type BranchProtectionDefaultsOptions
- type BranchesService
- func (s *BranchesService) CreateBranch(pid any, opt *CreateBranchOptions, options ...RequestOptionFunc) (*Branch, *Response, error)
- func (s *BranchesService) DeleteBranch(pid any, branch string, options ...RequestOptionFunc) (*Response, error)
- func (s *BranchesService) DeleteMergedBranches(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *BranchesService) GetBranch(pid any, branch string, options ...RequestOptionFunc) (*Branch, *Response, error)
- func (s *BranchesService) ListBranches(pid any, opts *ListBranchesOptions, options ...RequestOptionFunc) ([]*Branch, *Response, error)
- type BranchesServiceInterface
- type Bridge
- type BroadcastMessage
- type BroadcastMessagesService
- func (s *BroadcastMessagesService) CreateBroadcastMessage(opt *CreateBroadcastMessageOptions, options ...RequestOptionFunc) (*BroadcastMessage, *Response, error)
- func (s *BroadcastMessagesService) DeleteBroadcastMessage(broadcast int64, options ...RequestOptionFunc) (*Response, error)
- func (s *BroadcastMessagesService) GetBroadcastMessage(broadcast int64, options ...RequestOptionFunc) (*BroadcastMessage, *Response, error)
- func (s *BroadcastMessagesService) ListBroadcastMessages(opt *ListBroadcastMessagesOptions, options ...RequestOptionFunc) ([]*BroadcastMessage, *Response, error)
- func (s *BroadcastMessagesService) UpdateBroadcastMessage(broadcast int64, opt *UpdateBroadcastMessageOptions, ...) (*BroadcastMessage, *Response, error)
- type BroadcastMessagesServiceInterface
- type BuildEvent
- type BuildEventCommit
- type BuildStateValue
- type BulkImportStartMigrationConfiguration
- type BulkImportStartMigrationEntity
- type BulkImportStartMigrationOptions
- type BulkImportStartMigrationResponse
- type BulkImportsService
- type BulkImportsServiceInterface
- type BurndownChartEvent
- type CIPipelineVariablesMinimumOverrideRoleValue
- type CIYMLTemplate
- type CIYMLTemplateListItem
- type CIYMLTemplatesService
- type CIYMLTemplatesServiceInterface
- type CancelGitHubProjectImportOptions
- type CancelledGitHubImport
- type ChangeAppearanceOptions
- type ChangeApprovalConfigurationOptions
- type ChangeMergeRequestApprovalConfigurationOptionsdeprecated
- type ChangePlanLimitOptions
- type ChangelogData
- type CherryPickCommitOptions
- type ClearStatusAfterValue
- type Client
- func NewAuthSourceClient(as AuthSource, options ...ClientOptionFunc) (*Client, error)
- func NewBasicAuthClient(username, password string, options ...ClientOptionFunc) (*Client, error)deprecated
- func NewClient(token string, options ...ClientOptionFunc) (*Client, error)
- func NewJobClient(token string, options ...ClientOptionFunc) (*Client, error)
- func NewOAuthClient(token string, options ...ClientOptionFunc) (*Client, error)deprecated
- func (c *Client) BaseURL() *url.URL
- func (c *Client) Do(req *retryablehttp.Request, v any) (*Response, error)
- func (c *Client) HTTPClient() *http.Client
- func (c *Client) NewRequest(method, path string, opt any, options []RequestOptionFunc) (*retryablehttp.Request, error)
- func (c *Client) NewRequestToURL(method string, u *url.URL, opt any, options []RequestOptionFunc) (*retryablehttp.Request, error)
- func (c *Client) UploadRequest(method, path string, content io.Reader, filename string, uploadType UploadType, ...) (*retryablehttp.Request, error)
- type ClientOptionFunc
- func WithAuthSourceStrategy(strategy AuthTokenStrategy) ClientOptionFunc
- func WithBaseURL(urlStr string) ClientOptionFunc
- func WithCookieJar(jar http.CookieJar) 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 WithInterceptor(i Interceptor) ClientOptionFunc
- func WithRequestLogHook(hook retryablehttp.RequestLogHook) ClientOptionFunc
- func WithRequestOptions(options ...RequestOptionFunc) ClientOptionFunc
- func WithResponseLogHook(hook retryablehttp.ResponseLogHook) ClientOptionFunc
- func WithURLWarningLogger(logger *slog.Logger) ClientOptionFunc
- func WithUserAgent(userAgent string) ClientOptionFunc
- func WithoutRetries() ClientOptionFunc
- type ClusterAgentsService
- func (s *ClusterAgentsService) CreateAgentToken(pid any, aid int64, opt *CreateAgentTokenOptions, options ...RequestOptionFunc) (*AgentToken, *Response, error)
- func (s *ClusterAgentsService) DeleteAgent(pid any, id int64, options ...RequestOptionFunc) (*Response, error)
- func (s *ClusterAgentsService) GetAgent(pid any, id int64, options ...RequestOptionFunc) (*Agent, *Response, error)
- func (s *ClusterAgentsService) GetAgentToken(pid any, aid int64, id int64, options ...RequestOptionFunc) (*AgentToken, *Response, error)
- func (s *ClusterAgentsService) ListAgentTokens(pid any, aid int64, opt *ListAgentTokensOptions, options ...RequestOptionFunc) ([]*AgentToken, *Response, error)
- func (s *ClusterAgentsService) ListAgents(pid any, opt *ListAgentsOptions, options ...RequestOptionFunc) ([]*Agent, *Response, error)
- func (s *ClusterAgentsService) RegisterAgent(pid any, opt *RegisterAgentOptions, options ...RequestOptionFunc) (*Agent, *Response, error)
- func (s *ClusterAgentsService) RevokeAgentToken(pid any, aid int64, id int64, options ...RequestOptionFunc) (*Response, error)
- type ClusterAgentsServiceInterface
- type CommentEventAction
- type Commit
- type CommitActionOptions
- type CommitComment
- type CommitCommentEvent
- type CommitCommentEventCommit
- type CommitCommentEventObjectAttributes
- type CommitCommentEventProject
- type CommitRef
- type CommitStats
- type CommitStatus
- type CommitsService
- func (s *CommitsService) CherryPickCommit(pid any, sha string, opt *CherryPickCommitOptions, ...) (*Commit, *Response, error)
- func (s *CommitsService) CreateCommit(pid any, opt *CreateCommitOptions, options ...RequestOptionFunc) (*Commit, *Response, error)
- func (s *CommitsService) GetCommit(pid any, sha string, opt *GetCommitOptions, options ...RequestOptionFunc) (*Commit, *Response, error)
- func (s *CommitsService) GetCommitComments(pid any, sha string, opt *GetCommitCommentsOptions, ...) ([]*CommitComment, *Response, error)
- func (s *CommitsService) GetCommitDiff(pid any, sha string, opt *GetCommitDiffOptions, options ...RequestOptionFunc) ([]*Diff, *Response, error)
- func (s *CommitsService) GetCommitRefs(pid any, sha string, opt *GetCommitRefsOptions, options ...RequestOptionFunc) ([]*CommitRef, *Response, error)
- func (s *CommitsService) GetCommitStatuses(pid any, sha string, opt *GetCommitStatusesOptions, ...) ([]*CommitStatus, *Response, error)
- func (s *CommitsService) GetGPGSignature(pid any, sha string, options ...RequestOptionFunc) (*GPGSignature, *Response, error)
- func (s *CommitsService) ListCommits(pid any, opt *ListCommitsOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)
- func (s *CommitsService) ListMergeRequestsByCommit(pid any, sha string, options ...RequestOptionFunc) ([]*BasicMergeRequest, *Response, error)
- func (s *CommitsService) PostCommitComment(pid any, sha string, opt *PostCommitCommentOptions, ...) (*CommitComment, *Response, error)
- func (s *CommitsService) RevertCommit(pid any, sha string, opt *RevertCommitOptions, options ...RequestOptionFunc) (*Commit, *Response, error)
- func (s *CommitsService) SetCommitStatus(pid any, sha string, opt *SetCommitStatusOptions, options ...RequestOptionFunc) (*CommitStatus, *Response, error)
- type CommitsServiceInterface
- type Compare
- type CompareOptions
- type CompoundMetrics
- type ConfigProject
- type ConfigureProjectPullMirrorOptions
- type ContainerExpirationPolicy
- type ContainerExpirationPolicyAttributes
- type ContainerRegistryProtectionRule
- type ContainerRegistryProtectionRulesService
- func (s *ContainerRegistryProtectionRulesService) CreateContainerRegistryProtectionRule(pid any, opt *CreateContainerRegistryProtectionRuleOptions, ...) (*ContainerRegistryProtectionRule, *Response, error)
- func (s *ContainerRegistryProtectionRulesService) DeleteContainerRegistryProtectionRule(pid any, ruleID int64, options ...RequestOptionFunc) (*Response, error)
- func (s *ContainerRegistryProtectionRulesService) ListContainerRegistryProtectionRules(pid any, options ...RequestOptionFunc) ([]*ContainerRegistryProtectionRule, *Response, error)
- func (s *ContainerRegistryProtectionRulesService) UpdateContainerRegistryProtectionRule(pid any, ruleID int64, opt *UpdateContainerRegistryProtectionRuleOptions, ...) (*ContainerRegistryProtectionRule, *Response, error)
- type ContainerRegistryProtectionRulesServiceInterface
- type ContainerRegistryService
- func (s *ContainerRegistryService) DeleteRegistryRepository(pid any, repository int64, options ...RequestOptionFunc) (*Response, error)
- func (s *ContainerRegistryService) DeleteRegistryRepositoryTag(pid any, repository int64, tagName string, options ...RequestOptionFunc) (*Response, error)
- func (s *ContainerRegistryService) DeleteRegistryRepositoryTags(pid any, repository int64, opt *DeleteRegistryRepositoryTagsOptions, ...) (*Response, error)
- func (s *ContainerRegistryService) GetRegistryRepositoryTagDetail(pid any, repository int64, tagName string, options ...RequestOptionFunc) (*RegistryRepositoryTag, *Response, error)
- func (s *ContainerRegistryService) GetSingleRegistryRepository(pid any, opt *GetSingleRegistryRepositoryOptions, options ...RequestOptionFunc) (*RegistryRepository, *Response, error)
- func (s *ContainerRegistryService) ListGroupRegistryRepositories(gid any, opt *ListGroupRegistryRepositoriesOptions, ...) ([]*RegistryRepository, *Response, error)
- func (s *ContainerRegistryService) ListProjectRegistryRepositories(pid any, opt *ListProjectRegistryRepositoriesOptions, ...) ([]*RegistryRepository, *Response, error)
- func (s *ContainerRegistryService) ListRegistryRepositoryTags(pid any, repository int64, opt *ListRegistryRepositoryTagsOptions, ...) ([]*RegistryRepositoryTag, *Response, error)
- type ContainerRegistryServiceInterface
- type ContainerRegistryStatus
- type ContributionEvent
- type ContributionEventPushData
- type Contributor
- type CreateAgentTokenOptions
- type CreateApplicationOptions
- type CreateAwardEmojiOptions
- type CreateBranchOptions
- type CreateBroadcastMessageOptions
- type CreateCommitDiscussionOptions
- type CreateCommitOptions
- type CreateContainerRegistryProtectionRuleOptions
- type CreateDependencyListExportOptions
- type CreateDraftNoteOptions
- type CreateEnvironmentOptions
- type CreateEpicDiscussionOptions
- type CreateEpicNoteOptions
- type CreateEpicOptions
- type CreateExternalStatusCheckOptions
- type CreateFeatureFlagUserListOptions
- type CreateFileOptions
- type CreateFreezePeriodOptions
- type CreateGeoNodesOptions
- type CreateGeoSitesOptions
- 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 CreateMergeRequestContextCommitsOptions
- type CreateMergeRequestDependencyOptions
- type CreateMergeRequestDiscussionOptions
- type CreateMergeRequestNoteOptions
- type CreateMergeRequestOptions
- type CreateMilestoneOptions
- type CreatePackageProtectionRulesOptions
- type CreatePagesDomainOptions
- type CreatePersonalAccessTokenForCurrentUserOptions
- type CreatePersonalAccessTokenOptions
- type CreatePipelineOptions
- type CreatePipelineScheduleOptions
- type CreatePipelineScheduleVariableOptions
- type CreateProjectAccessTokenOptions
- type CreateProjectAliasOptions
- type CreateProjectDeployTokenOptions
- type CreateProjectDeploymentOptions
- type CreateProjectExternalStatusCheckOptions
- type CreateProjectFeatureFlagOptions
- type CreateProjectForUserOptions
- type CreateProjectLevelRuleOptions
- type CreateProjectOptions
- type CreateProjectSnippetOptions
- type CreateProjectVariableOptions
- type CreateReleaseLinkOptions
- type CreateReleaseOptions
- type CreateRunnerControllerOptions
- type CreateRunnerControllerTokenOptions
- type CreateSecureFileOptions
- type CreateServiceAccountOptions
- type CreateServiceAccountPersonalAccessTokenOptions
- type CreateServiceAccountUserOptions
- type CreateSnippetDiscussionOptions
- type CreateSnippetFileOptions
- type CreateSnippetNoteOptions
- type CreateSnippetOptions
- type CreateTagOptions
- type CreateTargetBranchRuleOptions
- type CreateTopicOptions
- type CreateUserOptions
- type CreateUserRunnerOptions
- type CreateVulnerabilityOptions
- type CreateWikiPageOptions
- type CreateWorkItemOptions
- type CreateWorkItemOptionsLinkedItems
- type CustomAttribute
- type CustomAttributesService
- func (s *CustomAttributesService) DeleteCustomGroupAttribute(group int64, key string, options ...RequestOptionFunc) (*Response, error)
- func (s *CustomAttributesService) DeleteCustomProjectAttribute(project int64, key string, options ...RequestOptionFunc) (*Response, error)
- func (s *CustomAttributesService) DeleteCustomUserAttribute(user int64, key string, options ...RequestOptionFunc) (*Response, error)
- func (s *CustomAttributesService) GetCustomGroupAttribute(group int64, key string, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
- func (s *CustomAttributesService) GetCustomProjectAttribute(project int64, key string, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
- func (s *CustomAttributesService) GetCustomUserAttribute(user int64, key string, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
- func (s *CustomAttributesService) ListCustomGroupAttributes(group int64, options ...RequestOptionFunc) ([]*CustomAttribute, *Response, error)
- func (s *CustomAttributesService) ListCustomProjectAttributes(project int64, options ...RequestOptionFunc) ([]*CustomAttribute, *Response, error)
- func (s *CustomAttributesService) ListCustomUserAttributes(user int64, options ...RequestOptionFunc) ([]*CustomAttribute, *Response, error)
- func (s *CustomAttributesService) SetCustomGroupAttribute(group int64, c CustomAttribute, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
- func (s *CustomAttributesService) SetCustomProjectAttribute(project int64, c CustomAttribute, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
- func (s *CustomAttributesService) SetCustomUserAttribute(user int64, c CustomAttribute, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
- type CustomAttributesServiceInterface
- type CustomIssueTrackerService
- type CustomIssueTrackerServiceProperties
- type DORAMetric
- type DORAMetricInterval
- type DORAMetricType
- type DORAMetricsService
- type DORAMetricsServiceInterface
- type DataDogService
- type DataDogServiceProperties
- type DatabaseMigrationsService
- type DatabaseMigrationsServiceInterface
- type DayStats
- type DefaultBranchProtectionDefaultsOptions
- type DeleteEnterpriseUserOptions
- type DeleteFileOptions
- type DeleteGroupLDAPLinkWithCNOrFilterOptions
- type DeleteGroupLabelOptions
- type DeleteGroupOptions
- type DeleteLabelOptions
- type DeleteMergeRequestContextCommitsOptions
- type DeleteProjectExternalStatusCheckOptions
- type DeleteProjectOptions
- type DeleteRegisteredRunnerOptions
- type DeleteRegistryRepositoryTagsOptions
- type DeleteServiceAccountOptions
- type DependenciesService
- type DependenciesServiceInterface
- type Dependency
- type DependencyLicense
- type DependencyListExport
- type DependencyListExportService
- func (s *DependencyListExportService) CreateDependencyListExport(pipelineID int64, opt *CreateDependencyListExportOptions, ...) (*DependencyListExport, *Response, error)
- func (s *DependencyListExportService) DownloadDependencyListExport(id int64, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
- func (s *DependencyListExportService) GetDependencyListExport(id int64, options ...RequestOptionFunc) (*DependencyListExport, *Response, error)
- type DependencyListExportServiceInterface
- type DependencyPackageManagerValue
- type DependencyProxyService
- type DependencyProxyServiceInterface
- type DependencyVulnerability
- type DeployKeyProject
- type DeployKeysService
- func (s *DeployKeysService) AddDeployKey(pid any, opt *AddDeployKeyOptions, options ...RequestOptionFunc) (*ProjectDeployKey, *Response, error)
- func (s *DeployKeysService) AddInstanceDeployKey(opt *AddInstanceDeployKeyOptions, options ...RequestOptionFunc) (*InstanceDeployKey, *Response, error)
- func (s *DeployKeysService) DeleteDeployKey(pid any, deployKey int64, options ...RequestOptionFunc) (*Response, error)
- func (s *DeployKeysService) EnableDeployKey(pid any, deployKey int64, options ...RequestOptionFunc) (*ProjectDeployKey, *Response, error)
- func (s *DeployKeysService) GetDeployKey(pid any, deployKey int64, options ...RequestOptionFunc) (*ProjectDeployKey, *Response, error)
- func (s *DeployKeysService) ListAllDeployKeys(opt *ListInstanceDeployKeysOptions, options ...RequestOptionFunc) ([]*InstanceDeployKey, *Response, error)
- func (s *DeployKeysService) ListProjectDeployKeys(pid any, opt *ListProjectDeployKeysOptions, options ...RequestOptionFunc) ([]*ProjectDeployKey, *Response, error)
- func (s *DeployKeysService) ListUserProjectDeployKeys(uid any, opt *ListUserProjectDeployKeysOptions, options ...RequestOptionFunc) ([]*ProjectDeployKey, *Response, error)
- func (s *DeployKeysService) UpdateDeployKey(pid any, deployKey int64, opt *UpdateDeployKeyOptions, ...) (*ProjectDeployKey, *Response, error)
- type DeployKeysServiceInterface
- type DeployToken
- type DeployTokensService
- func (s *DeployTokensService) CreateGroupDeployToken(gid any, opt *CreateGroupDeployTokenOptions, options ...RequestOptionFunc) (*DeployToken, *Response, error)
- func (s *DeployTokensService) CreateProjectDeployToken(pid any, opt *CreateProjectDeployTokenOptions, options ...RequestOptionFunc) (*DeployToken, *Response, error)
- func (s *DeployTokensService) DeleteGroupDeployToken(gid any, deployToken int64, options ...RequestOptionFunc) (*Response, error)
- func (s *DeployTokensService) DeleteProjectDeployToken(pid any, deployToken int64, options ...RequestOptionFunc) (*Response, error)
- func (s *DeployTokensService) GetGroupDeployToken(gid any, deployToken int64, options ...RequestOptionFunc) (*DeployToken, *Response, error)
- func (s *DeployTokensService) GetProjectDeployToken(pid any, deployToken int64, options ...RequestOptionFunc) (*DeployToken, *Response, error)
- func (s *DeployTokensService) ListAllDeployTokens(options ...RequestOptionFunc) ([]*DeployToken, *Response, error)
- func (s *DeployTokensService) ListGroupDeployTokens(gid any, opt *ListGroupDeployTokensOptions, options ...RequestOptionFunc) ([]*DeployToken, *Response, error)
- func (s *DeployTokensService) ListProjectDeployTokens(pid any, opt *ListProjectDeployTokensOptions, options ...RequestOptionFunc) ([]*DeployToken, *Response, error)
- type DeployTokensServiceInterface
- type Deployment
- type DeploymentApprovalStatus
- type DeploymentDeployable
- type DeploymentDeployablePipeline
- type DeploymentEvent
- type DeploymentEventProject
- type DeploymentMergeRequestsService
- type DeploymentMergeRequestsServiceInterface
- type DeploymentStatusValue
- type DeploymentsService
- func (s *DeploymentsService) ApproveOrRejectProjectDeployment(pid any, deployment int64, opt *ApproveOrRejectProjectDeploymentOptions, ...) (*Response, error)
- func (s *DeploymentsService) CreateProjectDeployment(pid any, opt *CreateProjectDeploymentOptions, options ...RequestOptionFunc) (*Deployment, *Response, error)
- func (s *DeploymentsService) DeleteProjectDeployment(pid any, deployment int64, options ...RequestOptionFunc) (*Response, error)
- func (s *DeploymentsService) GetProjectDeployment(pid any, deployment int64, options ...RequestOptionFunc) (*Deployment, *Response, error)
- func (s *DeploymentsService) ListProjectDeployments(pid any, opts *ListProjectDeploymentsOptions, options ...RequestOptionFunc) ([]*Deployment, *Response, error)
- func (s *DeploymentsService) UpdateProjectDeployment(pid any, deployment int64, opt *UpdateProjectDeploymentOptions, ...) (*Deployment, *Response, error)
- type DeploymentsServiceInterface
- type DetailedStatus
- type DetailedStatusIllustration
- type Diff
- type DiscordIntegration
- type DiscordIntegrationProperties
- type DiscordService
- type DiscordServiceProperties
- type Discussion
- type DiscussionsService
- func (s *DiscussionsService) AddCommitDiscussionNote(pid any, commit string, discussion string, opt *AddCommitDiscussionNoteOptions, ...) (*Note, *Response, error)
- func (s *DiscussionsService) AddEpicDiscussionNote(gid any, epic int64, discussion string, opt *AddEpicDiscussionNoteOptions, ...) (*Note, *Response, error)
- func (s *DiscussionsService) AddIssueDiscussionNote(pid any, issue int64, discussion string, opt *AddIssueDiscussionNoteOptions, ...) (*Note, *Response, error)
- func (s *DiscussionsService) AddMergeRequestDiscussionNote(pid any, mergeRequest int64, discussion string, ...) (*Note, *Response, error)
- func (s *DiscussionsService) AddSnippetDiscussionNote(pid any, snippet int64, discussion string, ...) (*Note, *Response, error)
- func (s *DiscussionsService) CreateCommitDiscussion(pid any, commit string, opt *CreateCommitDiscussionOptions, ...) (*Discussion, *Response, error)
- func (s *DiscussionsService) CreateEpicDiscussion(gid any, epic int64, opt *CreateEpicDiscussionOptions, ...) (*Discussion, *Response, error)
- func (s *DiscussionsService) CreateIssueDiscussion(pid any, issue int64, opt *CreateIssueDiscussionOptions, ...) (*Discussion, *Response, error)
- func (s *DiscussionsService) CreateMergeRequestDiscussion(pid any, mergeRequest int64, opt *CreateMergeRequestDiscussionOptions, ...) (*Discussion, *Response, error)
- func (s *DiscussionsService) CreateSnippetDiscussion(pid any, snippet int64, opt *CreateSnippetDiscussionOptions, ...) (*Discussion, *Response, error)
- func (s *DiscussionsService) DeleteCommitDiscussionNote(pid any, commit string, discussion string, note int64, ...) (*Response, error)
- func (s *DiscussionsService) DeleteEpicDiscussionNote(gid any, epic int64, discussion string, note int64, ...) (*Response, error)
- func (s *DiscussionsService) DeleteIssueDiscussionNote(pid any, issue int64, discussion string, note int64, ...) (*Response, error)
- func (s *DiscussionsService) DeleteMergeRequestDiscussionNote(pid any, mergeRequest int64, discussion string, note int64, ...) (*Response, error)
- func (s *DiscussionsService) DeleteSnippetDiscussionNote(pid any, snippet int64, discussion string, note int64, ...) (*Response, error)
- func (s *DiscussionsService) GetCommitDiscussion(pid any, commit string, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)
- func (s *DiscussionsService) GetEpicDiscussion(gid any, epic int64, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)
- func (s *DiscussionsService) GetIssueDiscussion(pid any, issue int64, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)
- func (s *DiscussionsService) GetMergeRequestDiscussion(pid any, mergeRequest int64, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)
- func (s *DiscussionsService) GetSnippetDiscussion(pid any, snippet int64, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)
- func (s *DiscussionsService) ListCommitDiscussions(pid any, commit string, opt *ListCommitDiscussionsOptions, ...) ([]*Discussion, *Response, error)
- func (s *DiscussionsService) ListGroupEpicDiscussions(gid any, epic int64, opt *ListGroupEpicDiscussionsOptions, ...) ([]*Discussion, *Response, error)
- func (s *DiscussionsService) ListIssueDiscussions(pid any, issue int64, opt *ListIssueDiscussionsOptions, ...) ([]*Discussion, *Response, error)
- func (s *DiscussionsService) ListMergeRequestDiscussions(pid any, mergeRequest int64, opt *ListMergeRequestDiscussionsOptions, ...) ([]*Discussion, *Response, error)
- func (s *DiscussionsService) ListSnippetDiscussions(pid any, snippet int64, opt *ListSnippetDiscussionsOptions, ...) ([]*Discussion, *Response, error)
- func (s *DiscussionsService) ResolveMergeRequestDiscussion(pid any, mergeRequest int64, discussion string, ...) (*Discussion, *Response, error)
- func (s *DiscussionsService) UpdateCommitDiscussionNote(pid any, commit string, discussion string, note int64, ...) (*Note, *Response, error)
- func (s *DiscussionsService) UpdateEpicDiscussionNote(gid any, epic int64, discussion string, note int64, ...) (*Note, *Response, error)
- func (s *DiscussionsService) UpdateIssueDiscussionNote(pid any, issue int64, discussion string, note int64, ...) (*Note, *Response, error)
- func (s *DiscussionsService) UpdateMergeRequestDiscussionNote(pid any, mergeRequest int64, discussion string, note int64, ...) (*Note, *Response, error)
- func (s *DiscussionsService) UpdateSnippetDiscussionNote(pid any, snippet int64, discussion string, note int64, ...) (*Note, *Response, error)
- type DiscussionsServiceInterface
- type DockerfileTemplate
- type DockerfileTemplateListItem
- type DockerfileTemplatesService
- type DockerfileTemplatesServiceInterface
- type DownloadArtifactsFileOptions
- type DraftNote
- type DraftNotesService
- func (s *DraftNotesService) CreateDraftNote(pid any, mergeRequest int64, opt *CreateDraftNoteOptions, ...) (*DraftNote, *Response, error)
- func (s *DraftNotesService) DeleteDraftNote(pid any, mergeRequest int64, note int64, options ...RequestOptionFunc) (*Response, error)
- func (s *DraftNotesService) GetDraftNote(pid any, mergeRequest int64, note int64, options ...RequestOptionFunc) (*DraftNote, *Response, error)
- func (s *DraftNotesService) ListDraftNotes(pid any, mergeRequest int64, opt *ListDraftNotesOptions, ...) ([]*DraftNote, *Response, error)
- func (s *DraftNotesService) PublishAllDraftNotes(pid any, mergeRequest int64, options ...RequestOptionFunc) (*Response, error)
- func (s *DraftNotesService) PublishDraftNote(pid any, mergeRequest int64, note int64, options ...RequestOptionFunc) (*Response, error)
- func (s *DraftNotesService) UpdateDraftNote(pid any, mergeRequest int64, note int64, opt *UpdateDraftNoteOptions, ...) (*DraftNote, *Response, error)
- type DraftNotesServiceInterface
- type DroneCIService
- type DroneCIServiceProperties
- type DuoAvailabilityValue
- type EditAnExistingResourceGroupOptions
- type EditClusterOptions
- type EditEnvironmentOptions
- type EditGeoSiteOptions
- type EditGroupBadgeOptions
- type EditGroupClusterOptions
- type EditGroupHookOptions
- type EditGroupMemberOptions
- type EditGroupPlatformKubernetesOptions
- type EditGroupPushRuleOptions
- type EditGroupWikiPageOptions
- 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 EmojiEvent
- type EmojiEventCommit
- type EmojiEventIssue
- type EmojiEventMergeRequest
- type EmojiEventNote
- type EmojiEventObjectAttributes
- type EmojiEventProject
- type EmojiEventSnippet
- type EnableDisableErrorTrackingOptions
- type EnableProjectRunnerOptions
- type EnabledGitAccessProtocolValue
- type EnterpriseUsersService
- func (s *EnterpriseUsersService) DeleteEnterpriseUser(gid any, uid int64, opt *DeleteEnterpriseUserOptions, ...) (*Response, error)
- func (s *EnterpriseUsersService) Disable2FAForEnterpriseUser(gid any, uid int64, options ...RequestOptionFunc) (*Response, error)
- func (s *EnterpriseUsersService) GetEnterpriseUser(gid any, uid int64, options ...RequestOptionFunc) (*User, *Response, error)
- func (s *EnterpriseUsersService) ListEnterpriseUsers(gid any, opt *ListEnterpriseUsersOptions, options ...RequestOptionFunc) ([]*User, *Response, error)
- type EnterpriseUsersServiceInterface
- type Environment
- type EnvironmentAccessDescription
- type EnvironmentAccessOptions
- type EnvironmentApprovalRule
- type EnvironmentApprovalRuleOptions
- type EnvironmentsService
- func (s *EnvironmentsService) CreateEnvironment(pid any, opt *CreateEnvironmentOptions, options ...RequestOptionFunc) (*Environment, *Response, error)
- func (s *EnvironmentsService) DeleteEnvironment(pid any, environment int64, options ...RequestOptionFunc) (*Response, error)
- func (s *EnvironmentsService) EditEnvironment(pid any, environment int64, opt *EditEnvironmentOptions, ...) (*Environment, *Response, error)
- func (s *EnvironmentsService) GetEnvironment(pid any, environment int64, options ...RequestOptionFunc) (*Environment, *Response, error)
- func (s *EnvironmentsService) ListEnvironments(pid any, opts *ListEnvironmentsOptions, options ...RequestOptionFunc) ([]*Environment, *Response, error)
- func (s *EnvironmentsService) StopEnvironment(pid any, environmentID int64, opt *StopEnvironmentOptions, ...) (*Environment, *Response, error)
- type EnvironmentsServiceInterface
- type Epic
- type EpicAuthor
- type EpicIssueAssignment
- type EpicIssuesService
- func (s *EpicIssuesService) AssignEpicIssue(gid any, epic, issue int64, options ...RequestOptionFunc) (*EpicIssueAssignment, *Response, error)
- func (s *EpicIssuesService) ListEpicIssues(gid any, epic int64, opt *ListOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
- func (s *EpicIssuesService) RemoveEpicIssue(gid any, epic, epicIssue int64, options ...RequestOptionFunc) (*EpicIssueAssignment, *Response, error)
- func (s *EpicIssuesService) UpdateEpicIssueAssignment(gid any, epic, epicIssue int64, opt *UpdateEpicIssueAssignmentOptions, ...) ([]*Issue, *Response, error)
- type EpicIssuesServiceInterface
- type EpicsService
- func (s *EpicsService) CreateEpic(gid any, opt *CreateEpicOptions, options ...RequestOptionFunc) (*Epic, *Response, error)
- func (s *EpicsService) DeleteEpic(gid any, epic int64, options ...RequestOptionFunc) (*Response, error)
- func (s *EpicsService) GetEpic(gid any, epic int64, options ...RequestOptionFunc) (*Epic, *Response, error)
- func (s *EpicsService) GetEpicLinks(gid any, epic int64, options ...RequestOptionFunc) ([]*Epic, *Response, error)
- func (s *EpicsService) ListGroupEpics(gid any, opt *ListGroupEpicsOptions, options ...RequestOptionFunc) ([]*Epic, *Response, error)
- func (s *EpicsService) UpdateEpic(gid any, epic int64, opt *UpdateEpicOptions, options ...RequestOptionFunc) (*Epic, *Response, error)
- type EpicsServiceInterface
- type ErrorResponse
- type ErrorTrackingClientKey
- type ErrorTrackingService
- func (s *ErrorTrackingService) CreateClientKey(pid any, options ...RequestOptionFunc) (*ErrorTrackingClientKey, *Response, error)
- func (s *ErrorTrackingService) DeleteClientKey(pid any, keyID int64, options ...RequestOptionFunc) (*Response, error)
- func (s *ErrorTrackingService) EnableDisableErrorTracking(pid any, opt *EnableDisableErrorTrackingOptions, options ...RequestOptionFunc) (*ErrorTrackingSettings, *Response, error)
- func (s *ErrorTrackingService) GetErrorTrackingSettings(pid any, options ...RequestOptionFunc) (*ErrorTrackingSettings, *Response, error)
- func (s *ErrorTrackingService) ListClientKeys(pid any, opt *ListClientKeysOptions, options ...RequestOptionFunc) ([]*ErrorTrackingClientKey, *Response, error)
- type ErrorTrackingServiceInterface
- type ErrorTrackingSettings
- type EventChangesAssignees
- type EventChangesDescription
- type EventChangesLabels
- type EventChangesStateID
- type EventChangesTitle
- type EventChangesUpdatedAt
- type EventChangesUpdatedByID
- type EventCommitAuthor
- type EventEnvironment
- type EventLabel
- type EventMergeRequestLastCommit
- type EventSourcePipeline
- type EventSourcePipelineProject
- type EventTargetTypeValue
- type EventType
- type EventTypeValue
- type EventUser
- type EventsService
- func (s *EventsService) ListCurrentUserContributionEvents(opt *ListContributionEventsOptions, options ...RequestOptionFunc) ([]*ContributionEvent, *Response, error)
- func (s *EventsService) ListProjectVisibleEvents(pid any, opt *ListProjectVisibleEventsOptions, options ...RequestOptionFunc) ([]*ProjectEvent, *Response, error)
- type EventsServiceInterface
- type ExploreSnippetsOptions
- type ExportStatus
- type ExportStatusLinks
- type ExternalStatusChecksService
- func (s *ExternalStatusChecksService) CreateExternalStatusCheck(pid any, opt *CreateExternalStatusCheckOptions, options ...RequestOptionFunc) (*Response, error)
- func (s *ExternalStatusChecksService) CreateProjectExternalStatusCheck(pid any, opt *CreateProjectExternalStatusCheckOptions, ...) (*ProjectStatusCheck, *Response, error)
- func (s *ExternalStatusChecksService) DeleteExternalStatusCheck(pid any, check int64, options ...RequestOptionFunc) (*Response, error)
- func (s *ExternalStatusChecksService) DeleteProjectExternalStatusCheck(pid any, check int64, opt *DeleteProjectExternalStatusCheckOptions, ...) (*Response, error)
- func (s *ExternalStatusChecksService) ListMergeStatusChecks(pid any, mr int64, opt *ListOptions, options ...RequestOptionFunc) ([]*MergeStatusCheck, *Response, error)
- func (s *ExternalStatusChecksService) ListProjectExternalStatusChecks(pid any, opt *ListProjectExternalStatusChecksOptions, ...) ([]*ProjectStatusCheck, *Response, error)
- func (s *ExternalStatusChecksService) ListProjectMergeRequestExternalStatusChecks(pid any, mr int64, opt *ListProjectMergeRequestExternalStatusChecksOptions, ...) ([]*MergeStatusCheck, *Response, error)
- func (s *ExternalStatusChecksService) ListProjectStatusChecks(pid any, opt *ListOptions, options ...RequestOptionFunc) ([]*ProjectStatusCheck, *Response, error)
- func (s *ExternalStatusChecksService) RetryFailedExternalStatusCheckForProjectMergeRequest(pid any, mergeRequest int64, externalStatusCheck int64, ...) (*Response, error)
- func (s *ExternalStatusChecksService) RetryFailedStatusCheckForAMergeRequest(pid any, mergeRequest int64, externalStatusCheck int64, ...) (*Response, error)
- func (s *ExternalStatusChecksService) SetExternalStatusCheckStatus(pid any, mergeRequest int64, opt *SetExternalStatusCheckStatusOptions, ...) (*Response, error)
- func (s *ExternalStatusChecksService) SetProjectMergeRequestExternalStatusCheckStatus(pid any, mergeRequest int64, ...) (*Response, error)
- func (s *ExternalStatusChecksService) UpdateExternalStatusCheck(pid any, check int64, opt *UpdateExternalStatusCheckOptions, ...) (*Response, error)
- func (s *ExternalStatusChecksService) UpdateProjectExternalStatusCheck(pid any, check int64, opt *UpdateProjectExternalStatusCheckOptions, ...) (*ProjectStatusCheck, *Response, error)
- type ExternalStatusChecksServiceInterface
- type ExternalWikiService
- type ExternalWikiServiceProperties
- type Feature
- type FeatureDefinition
- type FeatureFlagEvent
- type FeatureFlagEventObjectAttributes
- type FeatureFlagEventProject
- type FeatureFlagStrategyOptions
- type FeatureFlagUserList
- type FeatureFlagUserListsService
- func (s *FeatureFlagUserListsService) CreateFeatureFlagUserList(pid any, opt *CreateFeatureFlagUserListOptions, options ...RequestOptionFunc) (*FeatureFlagUserList, *Response, error)
- func (s *FeatureFlagUserListsService) DeleteFeatureFlagUserList(pid any, iid int64, options ...RequestOptionFunc) (*Response, error)
- func (s *FeatureFlagUserListsService) GetFeatureFlagUserList(pid any, iid int64, options ...RequestOptionFunc) (*FeatureFlagUserList, *Response, error)
- func (s *FeatureFlagUserListsService) ListFeatureFlagUserLists(pid any, opt *ListFeatureFlagUserListsOptions, options ...RequestOptionFunc) ([]*FeatureFlagUserList, *Response, error)
- func (s *FeatureFlagUserListsService) UpdateFeatureFlagUserList(pid any, iid int64, opt *UpdateFeatureFlagUserListOptions, ...) (*FeatureFlagUserList, *Response, error)
- type FeatureFlagUserListsServiceInterface
- type FeaturesService
- func (s *FeaturesService) DeleteFeatureFlag(name string, options ...RequestOptionFunc) (*Response, error)
- func (s *FeaturesService) ListFeatureDefinitions(options ...RequestOptionFunc) ([]*FeatureDefinition, *Response, error)
- func (s *FeaturesService) ListFeatures(options ...RequestOptionFunc) ([]*Feature, *Response, error)
- func (s *FeaturesService) SetFeatureFlag(name string, opt *SetFeatureFlagOptions, options ...RequestOptionFunc) (*Feature, *Response, error)
- type FeaturesServiceInterface
- type FetchStats
- type File
- type FileActionValue
- type FileBlameRange
- type FileBlameRangeCommit
- type FileInfo
- type Finding
- type ForkParent
- type ForkProjectOptions
- type FreezePeriod
- type FreezePeriodsService
- func (s *FreezePeriodsService) CreateFreezePeriodOptions(pid any, opt *CreateFreezePeriodOptions, options ...RequestOptionFunc) (*FreezePeriod, *Response, error)
- func (s *FreezePeriodsService) DeleteFreezePeriod(pid any, freezePeriod int64, options ...RequestOptionFunc) (*Response, error)
- func (s *FreezePeriodsService) GetFreezePeriod(pid any, freezePeriod int64, options ...RequestOptionFunc) (*FreezePeriod, *Response, error)
- func (s *FreezePeriodsService) ListFreezePeriods(pid any, opt *ListFreezePeriodsOptions, options ...RequestOptionFunc) ([]*FreezePeriod, *Response, error)
- func (s *FreezePeriodsService) UpdateFreezePeriodOptions(pid any, freezePeriod int64, opt *UpdateFreezePeriodOptions, ...) (*FreezePeriod, *Response, error)
- type FreezePeriodsServiceInterface
- type GPGKey
- type GPGSignature
- type Gate
- type GenerateChangelogDataOptions
- type GenericGraphQLErrors
- type GenericPackageSelectValue
- type GenericPackageStatusValue
- type GenericPackagesFile
- type GenericPackagesFileURL
- type GenericPackagesService
- func (s *GenericPackagesService) DownloadPackageFile(pid any, packageName, packageVersion, fileName string, ...) ([]byte, *Response, error)
- func (s *GenericPackagesService) FormatPackageURL(pid any, packageName, packageVersion, fileName string) (string, error)
- func (s *GenericPackagesService) PublishPackageFile(pid any, packageName, packageVersion, fileName string, content io.Reader, ...) (*GenericPackagesFile, *Response, error)
- type GenericPackagesServiceInterface
- type GeoNode
- type GeoNodeLinks
- type GeoNodeStatus
- type GeoNodesService
- func (s *GeoNodesService) CreateGeoNode(opt *CreateGeoNodesOptions, options ...RequestOptionFunc) (*GeoNode, *Response, error)
- func (s *GeoNodesService) DeleteGeoNode(id int64, options ...RequestOptionFunc) (*Response, error)
- func (s *GeoNodesService) EditGeoNode(id int64, opt *UpdateGeoNodesOptions, options ...RequestOptionFunc) (*GeoNode, *Response, error)
- func (s *GeoNodesService) GetGeoNode(id int64, options ...RequestOptionFunc) (*GeoNode, *Response, error)
- func (s *GeoNodesService) ListGeoNodes(opt *ListGeoNodesOptions, options ...RequestOptionFunc) ([]*GeoNode, *Response, error)
- func (s *GeoNodesService) RepairGeoNode(id int64, options ...RequestOptionFunc) (*GeoNode, *Response, error)
- func (s *GeoNodesService) RetrieveStatusOfAllGeoNodes(options ...RequestOptionFunc) ([]*GeoNodeStatus, *Response, error)
- func (s *GeoNodesService) RetrieveStatusOfGeoNode(id int64, options ...RequestOptionFunc) (*GeoNodeStatus, *Response, error)
- type GeoNodesServiceInterfacedeprecated
- type GeoSite
- type GeoSiteLinks
- type GeoSiteStatus
- type GeoSiteStatusLink
- type GeoSitesService
- func (s *GeoSitesService) CreateGeoSite(opt *CreateGeoSitesOptions, options ...RequestOptionFunc) (*GeoSite, *Response, error)
- func (s *GeoSitesService) DeleteGeoSite(id int64, options ...RequestOptionFunc) (*Response, error)
- func (s *GeoSitesService) EditGeoSite(id int64, opt *EditGeoSiteOptions, options ...RequestOptionFunc) (*GeoSite, *Response, error)
- func (s *GeoSitesService) GetGeoSite(id int64, options ...RequestOptionFunc) (*GeoSite, *Response, error)
- func (s *GeoSitesService) GetStatusOfGeoSite(id int64, options ...RequestOptionFunc) (*GeoSiteStatus, *Response, error)
- func (s *GeoSitesService) ListGeoSites(opt *ListGeoSitesOptions, options ...RequestOptionFunc) ([]*GeoSite, *Response, error)
- func (s *GeoSitesService) ListStatusOfAllGeoSites(opt *ListStatusOfAllGeoSitesOptions, options ...RequestOptionFunc) ([]*GeoSiteStatus, *Response, error)
- func (s *GeoSitesService) RepairGeoSite(id int64, options ...RequestOptionFunc) (*GeoSite, *Response, error)
- type GeoSitesServiceInterface
- type GetAllImpersonationTokensOptions
- type GetAvatarOptions
- type GetCommitCommentsOptions
- type GetCommitDiffOptions
- type GetCommitOptions
- type GetCommitRefsOptions
- type GetCommitStatusesOptions
- type GetCurrentPlanLimitsOptions
- type GetDORAMetricsOptions
- type GetFileBlameOptions
- type GetFileMetaDataOptions
- type GetFileOptions
- type GetGroupIssuesStatisticsOptions
- type GetGroupMilestoneBurndownChartEventsOptions
- type GetGroupMilestoneIssuesOptions
- type GetGroupMilestoneMergeRequestsOptions
- type GetGroupOptions
- type GetGroupVariableOptions
- 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 GetRecentlyAddedMembersCountOptions
- type GetRecentlyCreatedIssuesCountOptions
- type GetRecentlyCreatedMergeRequestsCountOptions
- type GetSingleMergeRequestDiffVersionOptions
- type GetSingleRegistryRepositoryOptions
- type GetUserActivitiesOptions
- type GetUserMembershipOptions
- type GetUserOptions
- type GetWikiPageOptions
- type GitHubImport
- type GitIgnoreTemplate
- type GitIgnoreTemplateListItem
- type GitIgnoreTemplatesService
- type GitIgnoreTemplatesServiceInterface
- type GithubService
- type GithubServiceProperties
- type GoogleChatIntegration
- type GoogleChatIntegrationProperties
- type GraphQL
- type GraphQLInterface
- type GraphQLQuery
- type GraphQLResponseError
- type Group
- type GroupAccess
- type GroupAccessLevel
- type GroupAccessToken
- type GroupAccessTokensService
- func (s *GroupAccessTokensService) CreateGroupAccessToken(gid any, opt *CreateGroupAccessTokenOptions, options ...RequestOptionFunc) (*GroupAccessToken, *Response, error)
- func (s *GroupAccessTokensService) GetGroupAccessToken(gid any, id int64, options ...RequestOptionFunc) (*GroupAccessToken, *Response, error)
- func (s *GroupAccessTokensService) ListGroupAccessTokens(gid any, opt *ListGroupAccessTokensOptions, options ...RequestOptionFunc) ([]*GroupAccessToken, *Response, error)
- func (s *GroupAccessTokensService) RevokeGroupAccessToken(gid any, id int64, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupAccessTokensService) RotateGroupAccessToken(gid any, id int64, opt *RotateGroupAccessTokenOptions, ...) (*GroupAccessToken, *Response, error)
- func (s *GroupAccessTokensService) RotateGroupAccessTokenSelf(gid any, opt *RotateGroupAccessTokenOptions, options ...RequestOptionFunc) (*GroupAccessToken, *Response, error)
- type GroupAccessTokensServiceInterface
- type GroupActivityAnalyticsService
- func (s *GroupActivityAnalyticsService) GetRecentlyAddedMembersCount(opt *GetRecentlyAddedMembersCountOptions, options ...RequestOptionFunc) (*NewMembersCount, *Response, error)
- func (s *GroupActivityAnalyticsService) GetRecentlyCreatedIssuesCount(opt *GetRecentlyCreatedIssuesCountOptions, options ...RequestOptionFunc) (*IssuesCount, *Response, error)
- func (s *GroupActivityAnalyticsService) GetRecentlyCreatedMergeRequestsCount(opt *GetRecentlyCreatedMergeRequestsCountOptions, options ...RequestOptionFunc) (*MergeRequestsCount, *Response, error)
- type GroupActivityAnalyticsServiceInterface
- type GroupAvatar
- type GroupBadge
- type GroupBadgePreviewOptions
- type GroupBadgesService
- func (s *GroupBadgesService) AddGroupBadge(gid any, opt *AddGroupBadgeOptions, options ...RequestOptionFunc) (*GroupBadge, *Response, error)
- func (s *GroupBadgesService) DeleteGroupBadge(gid any, badge int64, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupBadgesService) EditGroupBadge(gid any, badge int64, opt *EditGroupBadgeOptions, options ...RequestOptionFunc) (*GroupBadge, *Response, error)
- func (s *GroupBadgesService) GetGroupBadge(gid any, badge int64, options ...RequestOptionFunc) (*GroupBadge, *Response, error)
- func (s *GroupBadgesService) ListGroupBadges(gid any, opt *ListGroupBadgesOptions, options ...RequestOptionFunc) ([]*GroupBadge, *Response, error)
- func (s *GroupBadgesService) PreviewGroupBadge(gid any, opt *GroupBadgePreviewOptions, options ...RequestOptionFunc) (*GroupBadge, *Response, error)
- type GroupBadgesServiceInterface
- type GroupBranchAccessDescription
- type GroupBranchPermissionOptions
- type GroupCluster
- func (v GroupCluster) String() stringdeprecated
- type GroupClustersService
- func (s *GroupClustersService) AddCluster(pid any, opt *AddGroupClusterOptions, options ...RequestOptionFunc) (*GroupCluster, *Response, error)
- func (s *GroupClustersService) DeleteCluster(pid any, cluster int64, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupClustersService) EditCluster(pid any, cluster int64, opt *EditGroupClusterOptions, ...) (*GroupCluster, *Response, error)
- func (s *GroupClustersService) GetCluster(pid any, cluster int64, options ...RequestOptionFunc) (*GroupCluster, *Response, error)
- func (s *GroupClustersService) ListClusters(pid any, options ...RequestOptionFunc) ([]*GroupCluster, *Response, error)
- type GroupClustersServiceInterfacedeprecated
- type GroupCredentialsService
- func (g *GroupCredentialsService) DeleteGroupSSHKey(gid any, keyID int64, options ...RequestOptionFunc) (*Response, error)
- func (g *GroupCredentialsService) ListGroupPersonalAccessTokens(gid any, opt *ListGroupPersonalAccessTokensOptions, ...) ([]*GroupPersonalAccessToken, *Response, error)
- func (g *GroupCredentialsService) ListGroupSSHKeys(gid any, opt *ListGroupSSHKeysOptions, options ...RequestOptionFunc) ([]*GroupSSHKey, *Response, error)
- func (g *GroupCredentialsService) RevokeGroupPersonalAccessToken(gid any, tokenID int64, options ...RequestOptionFunc) (*Response, error)
- type GroupCredentialsServiceInterface
- type GroupEnvironmentAccessDescription
- type GroupEnvironmentAccessOptions
- type GroupEnvironmentApprovalRule
- type GroupEnvironmentApprovalRuleOptions
- type GroupEpicBoard
- type GroupEpicBoardsService
- func (s *GroupEpicBoardsService) GetGroupEpicBoard(gid any, board int64, options ...RequestOptionFunc) (*GroupEpicBoard, *Response, error)
- func (s *GroupEpicBoardsService) ListGroupEpicBoards(gid any, opt *ListGroupEpicBoardsOptions, options ...RequestOptionFunc) ([]*GroupEpicBoard, *Response, error)
- type GroupEpicBoardsServiceInterface
- type GroupHook
- type GroupHookTrigger
- type GroupID
- type GroupImportExportService
- func (s *GroupImportExportService) ExportDownload(gid any, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
- func (s *GroupImportExportService) ImportFile(opt *GroupImportFileOptions, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupImportExportService) ScheduleExport(gid any, options ...RequestOptionFunc) (*Response, error)
- type GroupImportExportServiceInterface
- type GroupImportFileOptions
- type GroupIssueBoard
- type GroupIssueBoardsService
- func (s *GroupIssueBoardsService) CreateGroupIssueBoard(gid any, opt *CreateGroupIssueBoardOptions, options ...RequestOptionFunc) (*GroupIssueBoard, *Response, error)
- func (s *GroupIssueBoardsService) CreateGroupIssueBoardList(gid any, board int64, opt *CreateGroupIssueBoardListOptions, ...) (*BoardList, *Response, error)
- func (s *GroupIssueBoardsService) DeleteGroupIssueBoardList(gid any, board, list int64, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupIssueBoardsService) DeleteIssueBoard(gid any, board int64, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupIssueBoardsService) GetGroupIssueBoard(gid any, board int64, options ...RequestOptionFunc) (*GroupIssueBoard, *Response, error)
- func (s *GroupIssueBoardsService) GetGroupIssueBoardList(gid any, board, list int64, options ...RequestOptionFunc) (*BoardList, *Response, error)
- func (s *GroupIssueBoardsService) ListGroupIssueBoardLists(gid any, board int64, opt *ListGroupIssueBoardListsOptions, ...) ([]*BoardList, *Response, error)
- func (s *GroupIssueBoardsService) ListGroupIssueBoards(gid any, opt *ListGroupIssueBoardsOptions, options ...RequestOptionFunc) ([]*GroupIssueBoard, *Response, error)
- func (s *GroupIssueBoardsService) UpdateIssueBoard(gid any, board int64, opt *UpdateGroupIssueBoardOptions, ...) (*GroupIssueBoard, *Response, error)
- func (s *GroupIssueBoardsService) UpdateIssueBoardList(gid any, board, list int64, opt *UpdateGroupIssueBoardListOptions, ...) ([]*BoardList, *Response, error)
- type GroupIssueBoardsServiceInterface
- type GroupIteration
- type GroupIterationsService
- type GroupIterationsServiceInterface
- type GroupLabel
- type GroupLabelsService
- func (s *GroupLabelsService) CreateGroupLabel(gid any, opt *CreateGroupLabelOptions, options ...RequestOptionFunc) (*GroupLabel, *Response, error)
- func (s *GroupLabelsService) DeleteGroupLabel(gid any, lid any, opt *DeleteGroupLabelOptions, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupLabelsService) GetGroupLabel(gid any, lid any, options ...RequestOptionFunc) (*GroupLabel, *Response, error)
- func (s *GroupLabelsService) ListGroupLabels(gid any, opt *ListGroupLabelsOptions, options ...RequestOptionFunc) ([]*GroupLabel, *Response, error)
- func (s *GroupLabelsService) SubscribeToGroupLabel(gid any, lid any, options ...RequestOptionFunc) (*GroupLabel, *Response, error)
- func (s *GroupLabelsService) UnsubscribeFromGroupLabel(gid any, lid any, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupLabelsService) UpdateGroupLabel(gid any, lid any, opt *UpdateGroupLabelOptions, options ...RequestOptionFunc) (*GroupLabel, *Response, error)
- type GroupLabelsServiceInterface
- type GroupMarkdownUpload
- type GroupMarkdownUploadsService
- func (s *GroupMarkdownUploadsService) DeleteGroupMarkdownUploadByID(gid any, uploadID int64, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupMarkdownUploadsService) DeleteGroupMarkdownUploadBySecretAndFilename(gid any, secret string, filename string, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupMarkdownUploadsService) DownloadGroupMarkdownUploadByID(gid any, uploadID int64, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
- func (s *GroupMarkdownUploadsService) DownloadGroupMarkdownUploadBySecretAndFilename(gid any, secret string, filename string, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
- func (s *GroupMarkdownUploadsService) ListGroupMarkdownUploads(gid any, opt *ListMarkdownUploadsOptions, options ...RequestOptionFunc) ([]*GroupMarkdownUpload, *Response, error)
- type GroupMarkdownUploadsServiceInterface
- type GroupMattermostIntegration
- type GroupMattermostIntegrationOptions
- type GroupMattermostIntegrationProperties
- type GroupMattermostSlashCommandsIntegration
- type GroupMattermostSlashCommandsIntegrationOptions
- type GroupMember
- type GroupMemberSAMLIdentity
- type GroupMembersService
- func (s *GroupMembersService) AddGroupMember(gid any, opt *AddGroupMemberOptions, options ...RequestOptionFunc) (*GroupMember, *Response, error)
- func (s *GroupMembersService) DeleteShareWithGroup(gid any, groupID int64, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupMembersService) EditGroupMember(gid any, user int64, opt *EditGroupMemberOptions, options ...RequestOptionFunc) (*GroupMember, *Response, error)
- func (s *GroupMembersService) GetGroupMember(gid any, user int64, options ...RequestOptionFunc) (*GroupMember, *Response, error)
- func (s *GroupMembersService) GetInheritedGroupMember(gid any, user int64, options ...RequestOptionFunc) (*GroupMember, *Response, error)
- func (s *GroupMembersService) RemoveGroupMember(gid any, user int64, opt *RemoveGroupMemberOptions, ...) (*Response, error)
- func (s *GroupMembersService) ShareWithGroup(gid any, opt *ShareWithGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
- type GroupMembersServiceInterface
- type GroupMilestone
- type GroupMilestonesService
- func (s *GroupMilestonesService) CreateGroupMilestone(gid any, opt *CreateGroupMilestoneOptions, options ...RequestOptionFunc) (*GroupMilestone, *Response, error)
- func (s *GroupMilestonesService) DeleteGroupMilestone(pid any, milestone int64, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupMilestonesService) GetGroupMilestone(gid any, milestone int64, options ...RequestOptionFunc) (*GroupMilestone, *Response, error)
- func (s *GroupMilestonesService) GetGroupMilestoneBurndownChartEvents(gid any, milestone int64, opt *GetGroupMilestoneBurndownChartEventsOptions, ...) ([]*BurndownChartEvent, *Response, error)
- func (s *GroupMilestonesService) GetGroupMilestoneIssues(gid any, milestone int64, opt *GetGroupMilestoneIssuesOptions, ...) ([]*Issue, *Response, error)
- func (s *GroupMilestonesService) GetGroupMilestoneMergeRequests(gid any, milestone int64, opt *GetGroupMilestoneMergeRequestsOptions, ...) ([]*BasicMergeRequest, *Response, error)
- func (s *GroupMilestonesService) ListGroupMilestones(gid any, opt *ListGroupMilestonesOptions, options ...RequestOptionFunc) ([]*GroupMilestone, *Response, error)
- func (s *GroupMilestonesService) UpdateGroupMilestone(gid any, milestone int64, opt *UpdateGroupMilestoneOptions, ...) (*GroupMilestone, *Response, error)
- type GroupMilestonesServiceInterface
- type GroupPackage
- type GroupPersonalAccessToken
- type GroupProtectedBranch
- type GroupProtectedBranchesService
- func (s *GroupProtectedBranchesService) GetProtectedBranch(gid any, branch string, options ...RequestOptionFunc) (*GroupProtectedBranch, *Response, error)
- func (s *GroupProtectedBranchesService) ListProtectedBranches(gid any, opt *ListGroupProtectedBranchesOptions, options ...RequestOptionFunc) ([]*GroupProtectedBranch, *Response, error)
- func (s *GroupProtectedBranchesService) ProtectRepositoryBranches(gid any, opt *ProtectGroupRepositoryBranchesOptions, ...) (*GroupProtectedBranch, *Response, error)
- func (s *GroupProtectedBranchesService) UnprotectRepositoryBranches(gid any, branch string, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupProtectedBranchesService) UpdateProtectedBranch(gid any, branch string, opt *UpdateGroupProtectedBranchOptions, ...) (*GroupProtectedBranch, *Response, error)
- type GroupProtectedBranchesServiceInterface
- type GroupProtectedEnvironment
- type GroupProtectedEnvironmentsService
- func (s *GroupProtectedEnvironmentsService) GetGroupProtectedEnvironment(gid any, environment string, options ...RequestOptionFunc) (*GroupProtectedEnvironment, *Response, error)
- func (s *GroupProtectedEnvironmentsService) ListGroupProtectedEnvironments(gid any, opt *ListGroupProtectedEnvironmentsOptions, ...) ([]*GroupProtectedEnvironment, *Response, error)
- func (s *GroupProtectedEnvironmentsService) ProtectGroupEnvironment(gid any, opt *ProtectGroupEnvironmentOptions, options ...RequestOptionFunc) (*GroupProtectedEnvironment, *Response, error)
- func (s *GroupProtectedEnvironmentsService) UnprotectGroupEnvironment(gid any, environment string, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupProtectedEnvironmentsService) UpdateGroupProtectedEnvironment(gid any, environment string, opt *UpdateGroupProtectedEnvironmentOptions, ...) (*GroupProtectedEnvironment, *Response, error)
- type GroupProtectedEnvironmentsServiceInterface
- type GroupPushRules
- type GroupRelationStatus
- type GroupRelationsDownloadOptions
- type GroupRelationsExportService
- func (s *GroupRelationsExportService) ExportDownload(gid any, opt *GroupRelationsDownloadOptions, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
- func (s *GroupRelationsExportService) ListExportStatus(gid any, opt *ListGroupRelationsStatusOptions, options ...RequestOptionFunc) ([]*GroupRelationStatus, *Response, error)
- func (s *GroupRelationsExportService) ScheduleExport(gid any, opt *GroupRelationsScheduleExportOptions, ...) (*Response, error)
- type GroupRelationsExportServiceInterface
- type GroupRelationsScheduleExportOptions
- type GroupReleasesService
- type GroupReleasesServiceInterface
- type GroupRepositoryStorageMove
- type GroupRepositoryStorageMoveService
- func (g GroupRepositoryStorageMoveService) GetStorageMove(repositoryStorage int64, options ...RequestOptionFunc) (*GroupRepositoryStorageMove, *Response, error)
- func (g GroupRepositoryStorageMoveService) GetStorageMoveForGroup(group int64, repositoryStorage int64, options ...RequestOptionFunc) (*GroupRepositoryStorageMove, *Response, error)
- func (g GroupRepositoryStorageMoveService) RetrieveAllStorageMoves(opts RetrieveAllGroupStorageMovesOptions, options ...RequestOptionFunc) ([]*GroupRepositoryStorageMove, *Response, error)
- func (g GroupRepositoryStorageMoveService) RetrieveAllStorageMovesForGroup(group int64, opts RetrieveAllGroupStorageMovesOptions, ...) ([]*GroupRepositoryStorageMove, *Response, error)
- func (g GroupRepositoryStorageMoveService) ScheduleAllStorageMoves(opts ScheduleAllGroupStorageMovesOptions, options ...RequestOptionFunc) (*Response, error)
- func (g GroupRepositoryStorageMoveService) ScheduleStorageMoveForGroup(group int64, opts ScheduleStorageMoveForGroupOptions, ...) (*GroupRepositoryStorageMove, *Response, error)
- type GroupRepositoryStorageMoveServiceInterface
- type GroupResourceAccessTokenEvent
- type GroupResourceAccessTokenEventGroup
- type GroupResourceAccessTokenEventObjectAttributes
- type GroupSCIMIdentity
- type GroupSCIMService
- func (s *GroupSCIMService) DeleteSCIMIdentity(gid any, uid string, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupSCIMService) GetSCIMIdentitiesForGroup(gid any, options ...RequestOptionFunc) ([]*GroupSCIMIdentity, *Response, error)
- func (s *GroupSCIMService) GetSCIMIdentity(gid any, uid string, options ...RequestOptionFunc) (*GroupSCIMIdentity, *Response, error)
- func (s *GroupSCIMService) UpdateSCIMIdentity(gid any, uid string, opt *UpdateSCIMIdentityOptions, ...) (*Response, error)
- type GroupSCIMServiceInterface
- type GroupSSHCertificate
- type GroupSSHCertificatesService
- func (s *GroupSSHCertificatesService) CreateGroupSSHCertificate(gid any, opt *CreateGroupSSHCertificateOptions, options ...RequestOptionFunc) (*GroupSSHCertificate, *Response, error)
- func (s *GroupSSHCertificatesService) DeleteGroupSSHCertificate(gid any, cert int64, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupSSHCertificatesService) ListGroupSSHCertificates(gid any, options ...RequestOptionFunc) ([]*GroupSSHCertificate, *Response, error)
- type GroupSSHCertificatesServiceInterface
- type GroupSSHKey
- type GroupSecuritySettings
- type GroupSecuritySettingsService
- type GroupSecuritySettingsServiceInterface
- type GroupServiceAccount
- type GroupSystemEvent
- type GroupVariable
- type GroupVariablesService
- func (s *GroupVariablesService) CreateVariable(gid any, opt *CreateGroupVariableOptions, options ...RequestOptionFunc) (*GroupVariable, *Response, error)
- func (s *GroupVariablesService) GetVariable(gid any, key string, opt *GetGroupVariableOptions, ...) (*GroupVariable, *Response, error)
- func (s *GroupVariablesService) ListVariables(gid any, opt *ListGroupVariablesOptions, options ...RequestOptionFunc) ([]*GroupVariable, *Response, error)
- func (s *GroupVariablesService) RemoveVariable(gid any, key string, opt *RemoveGroupVariableOptions, ...) (*Response, error)
- func (s *GroupVariablesService) UpdateVariable(gid any, key string, opt *UpdateGroupVariableOptions, ...) (*GroupVariable, *Response, error)
- type GroupVariablesServiceInterface
- type GroupWiki
- type GroupWikisService
- func (s *GroupWikisService) CreateGroupWikiPage(gid any, opt *CreateGroupWikiPageOptions, options ...RequestOptionFunc) (*GroupWiki, *Response, error)
- func (s *GroupWikisService) DeleteGroupWikiPage(gid any, slug string, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupWikisService) EditGroupWikiPage(gid any, slug string, opt *EditGroupWikiPageOptions, ...) (*GroupWiki, *Response, error)
- func (s *GroupWikisService) GetGroupWikiPage(gid any, slug string, opt *GetGroupWikiPageOptions, ...) (*GroupWiki, *Response, error)
- func (s *GroupWikisService) ListGroupWikis(gid any, opt *ListGroupWikisOptions, options ...RequestOptionFunc) ([]*GroupWiki, *Response, error)
- type GroupWikisServiceInterface
- type GroupsService
- func (s *GroupsService) AddGroupHook(gid any, opt *AddGroupHookOptions, options ...RequestOptionFunc) (*GroupHook, *Response, error)
- func (s *GroupsService) AddGroupLDAPLink(gid any, opt *AddGroupLDAPLinkOptions, options ...RequestOptionFunc) (*LDAPGroupLink, *Response, error)
- func (s *GroupsService) AddGroupPushRule(gid any, opt *AddGroupPushRuleOptions, options ...RequestOptionFunc) (*GroupPushRules, *Response, error)
- func (s *GroupsService) AddGroupSAMLLink(gid any, opt *AddGroupSAMLLinkOptions, options ...RequestOptionFunc) (*SAMLGroupLink, *Response, error)
- func (s *GroupsService) CreateGroup(opt *CreateGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
- func (s *GroupsService) CreateServiceAccount(gid any, opt *CreateServiceAccountOptions, options ...RequestOptionFunc) (*GroupServiceAccount, *Response, error)
- func (s *GroupsService) CreateServiceAccountPersonalAccessToken(gid any, serviceAccount int64, ...) (*PersonalAccessToken, *Response, error)
- func (s *GroupsService) DeleteGroup(gid any, opt *DeleteGroupOptions, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupsService) DeleteGroupCustomHeader(gid any, hook int64, key string, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupsService) DeleteGroupHook(gid any, hook int64, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupsService) DeleteGroupHookURLVariable(gid any, hook int64, key string, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupsService) DeleteGroupLDAPLink(gid any, cn string, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupsService) DeleteGroupLDAPLinkForProvider(gid any, provider, cn string, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupsService) DeleteGroupLDAPLinkWithCNOrFilter(gid any, opts *DeleteGroupLDAPLinkWithCNOrFilterOptions, ...) (*Response, error)
- func (s *GroupsService) DeleteGroupPushRule(gid any, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupsService) DeleteGroupSAMLLink(gid any, samlGroupName string, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupsService) DeleteServiceAccount(gid any, serviceAccount int64, opt *DeleteServiceAccountOptions, ...) (*Response, error)
- func (s *GroupsService) DownloadAvatar(gid any, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
- func (s *GroupsService) EditGroupHook(gid any, hook int64, opt *EditGroupHookOptions, options ...RequestOptionFunc) (*GroupHook, *Response, error)
- func (s *GroupsService) EditGroupPushRule(gid any, opt *EditGroupPushRuleOptions, options ...RequestOptionFunc) (*GroupPushRules, *Response, error)
- func (s *GroupsService) GetGroup(gid any, opt *GetGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
- func (s *GroupsService) GetGroupHook(gid any, hook int64, options ...RequestOptionFunc) (*GroupHook, *Response, error)
- func (s *GroupsService) GetGroupPushRules(gid any, options ...RequestOptionFunc) (*GroupPushRules, *Response, error)
- func (s *GroupsService) GetGroupSAMLLink(gid any, samlGroupName string, options ...RequestOptionFunc) (*SAMLGroupLink, *Response, error)
- func (s *GroupsService) ListAllGroupMembers(gid any, opt *ListGroupMembersOptions, options ...RequestOptionFunc) ([]*GroupMember, *Response, error)
- func (s *GroupsService) ListBillableGroupMembers(gid any, opt *ListBillableGroupMembersOptions, options ...RequestOptionFunc) ([]*BillableGroupMember, *Response, error)
- func (s *GroupsService) ListDescendantGroups(gid any, opt *ListDescendantGroupsOptions, options ...RequestOptionFunc) ([]*Group, *Response, error)
- func (s *GroupsService) ListGroupHooks(gid any, opt *ListGroupHooksOptions, options ...RequestOptionFunc) ([]*GroupHook, *Response, error)
- func (s *GroupsService) ListGroupLDAPLinks(gid any, options ...RequestOptionFunc) ([]*LDAPGroupLink, *Response, error)
- func (s *GroupsService) ListGroupMembers(gid any, opt *ListGroupMembersOptions, options ...RequestOptionFunc) ([]*GroupMember, *Response, error)
- func (s *GroupsService) ListGroupProjects(gid any, opt *ListGroupProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
- func (s *GroupsService) ListGroupSAMLLinks(gid any, options ...RequestOptionFunc) ([]*SAMLGroupLink, *Response, error)
- func (s *GroupsService) ListGroupSharedProjects(gid any, opt *ListGroupSharedProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
- func (s *GroupsService) ListGroups(opt *ListGroupsOptions, options ...RequestOptionFunc) ([]*Group, *Response, error)
- func (s *GroupsService) ListMembershipsForBillableGroupMember(gid any, user int64, opt *ListMembershipsForBillableGroupMemberOptions, ...) ([]*BillableUserMembership, *Response, error)
- func (s *GroupsService) ListProvisionedUsers(gid any, opt *ListProvisionedUsersOptions, options ...RequestOptionFunc) ([]*User, *Response, error)
- func (s *GroupsService) ListServiceAccountPersonalAccessTokens(gid any, serviceAccount int64, ...) ([]*PersonalAccessToken, *Response, error)
- func (s *GroupsService) ListServiceAccounts(gid any, opt *ListServiceAccountsOptions, options ...RequestOptionFunc) ([]*GroupServiceAccount, *Response, error)
- func (s *GroupsService) ListSubGroups(gid any, opt *ListSubGroupsOptions, options ...RequestOptionFunc) ([]*Group, *Response, error)
- func (s *GroupsService) RemoveBillableGroupMember(gid any, user int64, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupsService) ResendGroupHookEvent(gid any, hook int64, hookEventID int64, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupsService) RestoreGroup(gid any, options ...RequestOptionFunc) (*Group, *Response, error)
- func (s *GroupsService) RevokeServiceAccountPersonalAccessToken(gid any, serviceAccount, token int64, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupsService) RotateServiceAccountPersonalAccessToken(gid any, serviceAccount, token int64, ...) (*PersonalAccessToken, *Response, error)
- func (s *GroupsService) SearchGroup(query string, options ...RequestOptionFunc) ([]*Group, *Response, error)
- func (s *GroupsService) SetGroupCustomHeader(gid any, hook int64, key string, opt *SetHookCustomHeaderOptions, ...) (*Response, error)
- func (s *GroupsService) SetGroupHookURLVariable(gid any, hook int64, key string, opt *SetHookURLVariableOptions, ...) (*Response, error)
- func (s *GroupsService) ShareGroupWithGroup(gid any, opt *ShareGroupWithGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
- func (s *GroupsService) TransferGroup(gid any, pid any, options ...RequestOptionFunc) (*Group, *Response, error)
- func (s *GroupsService) TransferSubGroup(gid any, opt *TransferSubGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
- func (s *GroupsService) TriggerTestGroupHook(pid any, hook int64, trigger GroupHookTrigger, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupsService) UnshareGroupFromGroup(gid any, groupID int64, options ...RequestOptionFunc) (*Response, error)
- func (s *GroupsService) UpdateGroup(gid any, opt *UpdateGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
- func (s *GroupsService) UpdateServiceAccount(gid any, serviceAccount int64, opt *UpdateServiceAccountOptions, ...) (*GroupServiceAccount, *Response, error)
- func (s *GroupsService) UploadAvatar(gid any, avatar io.Reader, filename string, options ...RequestOptionFunc) (*Group, *Response, error)
- type GroupsServiceInterface
- type HarborIntegration
- type HarborIntegrationProperties
- type HarborService
- type HarborServiceProperties
- type Hook
- type HookCustomHeader
- type HookEvent
- type HookURLVariable
- type HostKey
- type ISOTime
- type ImpersonationToken
- type ImportFileOptions
- type ImportGitHubGistsIntoGitLabSnippetsOptions
- type ImportRepositoryFromBitbucketCloudOptions
- type ImportRepositoryFromBitbucketServerOptions
- type ImportRepositoryFromGitHubOptionalStagesOptions
- type ImportRepositoryFromGitHubOptions
- type ImportService
- func (s *ImportService) CancelGitHubProjectImport(opt *CancelGitHubProjectImportOptions, options ...RequestOptionFunc) (*CancelledGitHubImport, *Response, error)
- func (s *ImportService) ImportGitHubGistsIntoGitLabSnippets(opt *ImportGitHubGistsIntoGitLabSnippetsOptions, options ...RequestOptionFunc) (*Response, error)
- func (s *ImportService) ImportRepositoryFromBitbucketCloud(opt *ImportRepositoryFromBitbucketCloudOptions, options ...RequestOptionFunc) (*BitbucketCloudImport, *Response, error)
- func (s *ImportService) ImportRepositoryFromBitbucketServer(opt *ImportRepositoryFromBitbucketServerOptions, options ...RequestOptionFunc) (*BitbucketServerImport, *Response, error)
- func (s *ImportService) ImportRepositoryFromGitHub(opt *ImportRepositoryFromGitHubOptions, options ...RequestOptionFunc) (*GitHubImport, *Response, error)
- type ImportServiceInterface
- type ImportStatus
- type Include
- type InstanceCluster
- func (v InstanceCluster) String() stringdeprecated
- type InstanceClustersService
- func (s *InstanceClustersService) AddCluster(opt *AddClusterOptions, options ...RequestOptionFunc) (*InstanceCluster, *Response, error)
- func (s *InstanceClustersService) DeleteCluster(cluster int64, options ...RequestOptionFunc) (*Response, error)
- func (s *InstanceClustersService) EditCluster(cluster int64, opt *EditClusterOptions, options ...RequestOptionFunc) (*InstanceCluster, *Response, error)
- func (s *InstanceClustersService) GetCluster(cluster int64, options ...RequestOptionFunc) (*InstanceCluster, *Response, error)
- func (s *InstanceClustersService) ListClusters(options ...RequestOptionFunc) ([]*InstanceCluster, *Response, error)
- type InstanceClustersServiceInterfacedeprecated
- type InstanceDeployKey
- type InstanceVariable
- 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 InstanceVariablesServiceInterface
- type Integration
- type IntegrationsService
- func (s *IntegrationsService) DeleteGroupMattermostIntegration(gid any, options ...RequestOptionFunc) (*Response, error)
- func (s *IntegrationsService) DeleteGroupMattermostSlashCommandsIntegration(gid any, options ...RequestOptionFunc) (*Response, error)
- func (s *IntegrationsService) DisableGroupHarbor(gid any, options ...RequestOptionFunc) (*Response, error)
- func (s *IntegrationsService) DisableGroupJira(gid any, options ...RequestOptionFunc) (*Response, error)
- func (s *IntegrationsService) DisableGroupMicrosoftTeamsNotifications(gid any, options ...RequestOptionFunc) (*Response, error)
- func (s *IntegrationsService) DisableGroupSlack(gid any, options ...RequestOptionFunc) (*Response, error)
- func (s *IntegrationsService) DisableGroupWebexTeams(gid any, options ...RequestOptionFunc) (*Response, error)
- func (s *IntegrationsService) DisableProjectGoogleChat(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *IntegrationsService) GetGroupDiscordSettings(gid any, options ...RequestOptionFunc) (*DiscordIntegration, *Response, error)
- func (s *IntegrationsService) GetGroupGoogleChatSettings(gid any, options ...RequestOptionFunc) (*GoogleChatIntegration, *Response, error)
- func (s *IntegrationsService) GetGroupHarborSettings(gid any, options ...RequestOptionFunc) (*HarborIntegration, *Response, error)
- func (s *IntegrationsService) GetGroupJiraSettings(gid any, options ...RequestOptionFunc) (*JiraIntegration, *Response, error)
- func (s *IntegrationsService) GetGroupMatrixSettings(gid any, options ...RequestOptionFunc) (*MatrixIntegration, *Response, error)
- func (s *IntegrationsService) GetGroupMattermostIntegration(gid any, options ...RequestOptionFunc) (*GroupMattermostIntegration, *Response, error)
- func (s *IntegrationsService) GetGroupMattermostSettings(gid any, options ...RequestOptionFunc) (*MattermostIntegration, *Response, error)
- func (s *IntegrationsService) GetGroupMattermostSlashCommandsIntegration(gid any, options ...RequestOptionFunc) (*GroupMattermostSlashCommandsIntegration, *Response, error)
- func (s *IntegrationsService) GetGroupMicrosoftTeamsNotifications(gid any, options ...RequestOptionFunc) (*MicrosoftTeamsIntegration, *Response, error)
- func (s *IntegrationsService) GetGroupSlackSettings(gid any, options ...RequestOptionFunc) (*SlackIntegration, *Response, error)
- func (s *IntegrationsService) GetGroupTelegramSettings(gid any, options ...RequestOptionFunc) (*TelegramIntegration, *Response, error)
- func (s *IntegrationsService) GetGroupWebexTeamsSettings(gid any, options ...RequestOptionFunc) (*WebexTeamsIntegration, *Response, error)
- func (s *IntegrationsService) GetProjectGoogleChatSettings(pid any, options ...RequestOptionFunc) (*GoogleChatIntegration, *Response, error)
- func (s *IntegrationsService) ListActiveGroupIntegrations(gid any, opt *ListActiveIntegrationsOptions, options ...RequestOptionFunc) ([]*Integration, *Response, error)
- func (s *IntegrationsService) SetGroupMattermostIntegration(gid any, opt *GroupMattermostIntegrationOptions, options ...RequestOptionFunc) (*GroupMattermostIntegration, *Response, error)
- func (s *IntegrationsService) SetGroupMattermostSlashCommandsIntegration(gid any, opt *GroupMattermostSlashCommandsIntegrationOptions, ...) (*GroupMattermostSlashCommandsIntegration, *Response, error)
- func (s *IntegrationsService) SetGroupMicrosoftTeamsNotifications(gid any, opt *SetMicrosoftTeamsNotificationsOptions, ...) (*MicrosoftTeamsIntegration, *Response, error)
- func (s *IntegrationsService) SetGroupSlackSettings(gid any, opt *SetGroupSlackOptions, options ...RequestOptionFunc) (*SlackIntegration, *Response, error)
- func (s *IntegrationsService) SetGroupWebexTeamsSettings(gid any, opt *SetGroupWebexTeamsOptions, options ...RequestOptionFunc) (*WebexTeamsIntegration, *Response, error)
- func (s *IntegrationsService) SetProjectGoogleChatSettings(pid any, opt *SetProjectGoogleChatOptions, options ...RequestOptionFunc) (*GoogleChatIntegration, *Response, error)
- func (s *IntegrationsService) SetUpGroupHarbor(gid any, opt *SetUpHarborOptions, options ...RequestOptionFunc) (*HarborIntegration, *Response, error)
- func (s *IntegrationsService) SetUpGroupJira(gid any, opt *SetUpJiraOptions, options ...RequestOptionFunc) (*JiraIntegration, *Response, error)
- type IntegrationsServiceInterface
- type Interceptor
- type InvitesOptions
- type InvitesResult
- type InvitesService
- func (s *InvitesService) GroupInvites(gid any, opt *InvitesOptions, options ...RequestOptionFunc) (*InvitesResult, *Response, error)
- func (s *InvitesService) ListPendingGroupInvitations(gid any, opt *ListPendingInvitationsOptions, options ...RequestOptionFunc) ([]*PendingInvite, *Response, error)
- func (s *InvitesService) ListPendingProjectInvitations(pid any, opt *ListPendingInvitationsOptions, options ...RequestOptionFunc) ([]*PendingInvite, *Response, error)
- func (s *InvitesService) ProjectInvites(pid any, opt *InvitesOptions, options ...RequestOptionFunc) (*InvitesResult, *Response, error)
- type InvitesServiceInterface
- type Issue
- type IssueAssignee
- type IssueAuthor
- type IssueBoard
- type IssueBoardsService
- func (s *IssueBoardsService) CreateIssueBoard(pid any, opt *CreateIssueBoardOptions, options ...RequestOptionFunc) (*IssueBoard, *Response, error)
- func (s *IssueBoardsService) CreateIssueBoardList(pid any, board int64, opt *CreateIssueBoardListOptions, ...) (*BoardList, *Response, error)
- func (s *IssueBoardsService) DeleteIssueBoard(pid any, board int64, options ...RequestOptionFunc) (*Response, error)
- func (s *IssueBoardsService) DeleteIssueBoardList(pid any, board, list int64, options ...RequestOptionFunc) (*Response, error)
- func (s *IssueBoardsService) GetIssueBoard(pid any, board int64, options ...RequestOptionFunc) (*IssueBoard, *Response, error)
- func (s *IssueBoardsService) GetIssueBoardList(pid any, board, list int64, options ...RequestOptionFunc) (*BoardList, *Response, error)
- func (s *IssueBoardsService) GetIssueBoardLists(pid any, board int64, opt *GetIssueBoardListsOptions, ...) ([]*BoardList, *Response, error)
- func (s *IssueBoardsService) ListIssueBoards(pid any, opt *ListIssueBoardsOptions, options ...RequestOptionFunc) ([]*IssueBoard, *Response, error)
- func (s *IssueBoardsService) UpdateIssueBoard(pid any, board int64, opt *UpdateIssueBoardOptions, ...) (*IssueBoard, *Response, error)
- func (s *IssueBoardsService) UpdateIssueBoardList(pid any, board, list int64, opt *UpdateIssueBoardListOptions, ...) (*BoardList, *Response, error)
- type IssueBoardsServiceInterface
- type IssueCloser
- type IssueCommentEvent
- type IssueCommentEventIssue
- type IssueCommentEventObjectAttributes
- type IssueCommentEventProject
- type IssueEvent
- type IssueEventChanges
- type IssueEventChangesClosedAt
- type IssueEventChangesTotalTimeSpent
- type IssueEventObjectAttributes
- type IssueEventObjectAttributesEscalationPolicy
- type IssueEventProject
- type IssueLink
- type IssueLinks
- type IssueLinksService
- func (s *IssueLinksService) CreateIssueLink(pid any, issue int64, opt *CreateIssueLinkOptions, ...) (*IssueLink, *Response, error)
- func (s *IssueLinksService) DeleteIssueLink(pid any, issue, issueLink int64, options ...RequestOptionFunc) (*IssueLink, *Response, error)
- func (s *IssueLinksService) GetIssueLink(pid any, issue, issueLink int64, options ...RequestOptionFunc) (*IssueLink, *Response, error)
- func (s *IssueLinksService) ListIssueRelations(pid any, issue int64, options ...RequestOptionFunc) ([]*IssueRelation, *Response, error)
- type IssueLinksServiceInterface
- type IssueReferences
- type IssueRelation
- type IssuesCount
- type IssuesService
- func (s *IssuesService) AddSpentTime(pid any, issue int64, opt *AddSpentTimeOptions, options ...RequestOptionFunc) (*TimeStats, *Response, error)
- func (s *IssuesService) CreateIssue(pid any, opt *CreateIssueOptions, options ...RequestOptionFunc) (*Issue, *Response, error)
- func (s *IssuesService) CreateTodo(pid any, issue int64, options ...RequestOptionFunc) (*Todo, *Response, error)
- func (s *IssuesService) DeleteIssue(pid any, issue int64, options ...RequestOptionFunc) (*Response, error)
- func (s *IssuesService) GetIssue(pid any, issue int64, options ...RequestOptionFunc) (*Issue, *Response, error)
- func (s *IssuesService) GetIssueByID(issue int64, options ...RequestOptionFunc) (*Issue, *Response, error)
- func (s *IssuesService) GetParticipants(pid any, issue int64, options ...RequestOptionFunc) ([]*BasicUser, *Response, error)
- func (s *IssuesService) GetTimeSpent(pid any, issue int64, options ...RequestOptionFunc) (*TimeStats, *Response, error)
- func (s *IssuesService) ListGroupIssues(pid any, opt *ListGroupIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
- func (s *IssuesService) ListIssues(opt *ListIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
- func (s *IssuesService) ListMergeRequestsClosingIssue(pid any, issue int64, opt *ListMergeRequestsClosingIssueOptions, ...) ([]*BasicMergeRequest, *Response, error)
- func (s *IssuesService) ListMergeRequestsRelatedToIssue(pid any, issue int64, opt *ListMergeRequestsRelatedToIssueOptions, ...) ([]*BasicMergeRequest, *Response, error)
- func (s *IssuesService) ListProjectIssues(pid any, opt *ListProjectIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
- func (s *IssuesService) MoveIssue(pid any, issue int64, opt *MoveIssueOptions, options ...RequestOptionFunc) (*Issue, *Response, error)
- func (s *IssuesService) ReorderIssue(pid any, issue int64, opt *ReorderIssueOptions, options ...RequestOptionFunc) (*Issue, *Response, error)
- func (s *IssuesService) ResetSpentTime(pid any, issue int64, options ...RequestOptionFunc) (*TimeStats, *Response, error)
- func (s *IssuesService) ResetTimeEstimate(pid any, issue int64, options ...RequestOptionFunc) (*TimeStats, *Response, error)
- func (s *IssuesService) SetTimeEstimate(pid any, issue int64, opt *SetTimeEstimateOptions, ...) (*TimeStats, *Response, error)
- func (s *IssuesService) SubscribeToIssue(pid any, issue int64, options ...RequestOptionFunc) (*Issue, *Response, error)
- func (s *IssuesService) UnsubscribeFromIssue(pid any, issue int64, options ...RequestOptionFunc) (*Issue, *Response, error)
- func (s *IssuesService) UpdateIssue(pid any, issue int64, opt *UpdateIssueOptions, options ...RequestOptionFunc) (*Issue, *Response, error)
- type IssuesServiceInterface
- type IssuesStatistics
- type IssuesStatisticsCounts
- type IssuesStatisticsService
- func (s *IssuesStatisticsService) GetGroupIssuesStatistics(gid any, opt *GetGroupIssuesStatisticsOptions, options ...RequestOptionFunc) (*IssuesStatistics, *Response, error)
- func (s *IssuesStatisticsService) GetIssuesStatistics(opt *GetIssuesStatisticsOptions, options ...RequestOptionFunc) (*IssuesStatistics, *Response, error)
- func (s *IssuesStatisticsService) GetProjectIssuesStatistics(pid any, opt *GetProjectIssuesStatisticsOptions, options ...RequestOptionFunc) (*IssuesStatistics, *Response, error)
- type IssuesStatisticsServiceInterface
- type IssuesStatisticsStatistics
- type Iteration
- type IterationEvent
- type JenkinsCIService
- type JenkinsCIServiceProperties
- type JiraIntegration
- type JiraIntegrationProperties
- type JiraService
- type JiraServiceProperties
- type Job
- type JobArtifact
- type JobArtifactsFile
- type JobEvent
- type JobEventCommit
- type JobEventRunner
- type JobPipeline
- type JobRunner
- type JobStats
- type JobStatsJobs
- type JobTokenAccessSettings
- type JobTokenAllowlistItem
- type JobTokenAuthSource
- type JobTokenInboundAllowItem
- type JobTokenInboundAllowOptions
- type JobTokenScopeService
- func (j *JobTokenScopeService) AddGroupToJobTokenAllowlist(pid any, opt *AddGroupToJobTokenAllowlistOptions, options ...RequestOptionFunc) (*JobTokenAllowlistItem, *Response, error)
- func (j *JobTokenScopeService) AddProjectToJobScopeAllowList(pid any, opt *JobTokenInboundAllowOptions, options ...RequestOptionFunc) (*JobTokenInboundAllowItem, *Response, error)
- func (j *JobTokenScopeService) GetJobTokenAllowlistGroups(pid any, opt *GetJobTokenAllowlistGroupsOptions, options ...RequestOptionFunc) ([]*Group, *Response, error)
- func (j *JobTokenScopeService) GetProjectJobTokenAccessSettings(pid any, options ...RequestOptionFunc) (*JobTokenAccessSettings, *Response, error)
- func (j *JobTokenScopeService) GetProjectJobTokenInboundAllowList(pid any, opt *GetJobTokenInboundAllowListOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
- func (j *JobTokenScopeService) PatchProjectJobTokenAccessSettings(pid any, opt *PatchProjectJobTokenAccessSettingsOptions, ...) (*Response, error)
- func (j *JobTokenScopeService) RemoveGroupFromJobTokenAllowlist(pid any, targetGroup int64, options ...RequestOptionFunc) (*Response, error)
- func (j *JobTokenScopeService) RemoveProjectFromJobScopeAllowList(pid any, targetProject int64, options ...RequestOptionFunc) (*Response, error)
- type JobTokenScopeServiceInterface
- type JobVariableOptions
- type JobsService
- func (s *JobsService) CancelJob(pid any, jobID int64, options ...RequestOptionFunc) (*Job, *Response, error)
- func (s *JobsService) DeleteArtifacts(pid any, jobID int64, options ...RequestOptionFunc) (*Response, error)
- func (s *JobsService) DeleteProjectArtifacts(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *JobsService) DownloadArtifactsFile(pid any, refName string, opt *DownloadArtifactsFileOptions, ...) (*bytes.Reader, *Response, error)
- func (s *JobsService) DownloadSingleArtifactsFile(pid any, jobID int64, artifactPath string, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
- func (s *JobsService) DownloadSingleArtifactsFileByTagOrBranch(pid any, refName string, artifactPath string, ...) (*bytes.Reader, *Response, error)
- func (s *JobsService) EraseJob(pid any, jobID int64, options ...RequestOptionFunc) (*Job, *Response, error)
- func (s *JobsService) GetJob(pid any, jobID int64, options ...RequestOptionFunc) (*Job, *Response, error)
- func (s *JobsService) GetJobArtifacts(pid any, jobID int64, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
- func (s *JobsService) GetJobTokensJob(opts *GetJobTokensJobOptions, options ...RequestOptionFunc) (*Job, *Response, error)
- func (s *JobsService) GetTraceFile(pid any, jobID int64, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
- func (s *JobsService) KeepArtifacts(pid any, jobID int64, options ...RequestOptionFunc) (*Job, *Response, error)
- func (s *JobsService) ListPipelineBridges(pid any, pipelineID int64, opts *ListJobsOptions, options ...RequestOptionFunc) ([]*Bridge, *Response, error)
- func (s *JobsService) ListPipelineJobs(pid any, pipelineID int64, opts *ListJobsOptions, options ...RequestOptionFunc) ([]*Job, *Response, error)
- func (s *JobsService) ListProjectJobs(pid any, opts *ListJobsOptions, options ...RequestOptionFunc) ([]*Job, *Response, error)
- func (s *JobsService) PlayJob(pid any, jobID int64, opt *PlayJobOptions, options ...RequestOptionFunc) (*Job, *Response, error)
- func (s *JobsService) RetryJob(pid any, jobID int64, options ...RequestOptionFunc) (*Job, *Response, error)
- type JobsServiceInterface
- type Key
- type KeySystemEvent
- type KeysService
- type KeysServiceInterface
- type LDAPGroupLink
- type Label
- type LabelDetails
- type LabelEvent
- type LabelEventLabel
- type LabelID
- type LabelOptions
- type Labels
- type LabelsService
- func (s *LabelsService) CreateLabel(pid any, opt *CreateLabelOptions, options ...RequestOptionFunc) (*Label, *Response, error)
- func (s *LabelsService) DeleteLabel(pid any, lid any, opt *DeleteLabelOptions, options ...RequestOptionFunc) (*Response, error)
- func (s *LabelsService) GetLabel(pid any, lid any, options ...RequestOptionFunc) (*Label, *Response, error)
- func (s *LabelsService) ListLabels(pid any, opt *ListLabelsOptions, options ...RequestOptionFunc) ([]*Label, *Response, error)
- func (s *LabelsService) PromoteLabel(pid any, lid any, options ...RequestOptionFunc) (*Response, error)
- func (s *LabelsService) SubscribeToLabel(pid any, lid any, options ...RequestOptionFunc) (*Label, *Response, error)
- func (s *LabelsService) UnsubscribeFromLabel(pid any, lid any, options ...RequestOptionFunc) (*Response, error)
- func (s *LabelsService) UpdateLabel(pid any, lid any, opt *UpdateLabelOptions, options ...RequestOptionFunc) (*Label, *Response, error)
- type LabelsServiceInterface
- type LastPipeline
- type License
- type LicenseAddOns
- type LicenseLicensee
- type LicenseService
- func (s *LicenseService) AddLicense(opt *AddLicenseOptions, options ...RequestOptionFunc) (*License, *Response, error)
- func (s *LicenseService) DeleteLicense(licenseID int64, options ...RequestOptionFunc) (*Response, error)
- func (s *LicenseService) GetLicense(options ...RequestOptionFunc) (*License, *Response, error)
- type LicenseServiceInterface
- 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 LicenseTemplatesServiceInterface
- type LinePosition
- type LinePositionOptions
- type LineRange
- type LineRangeOptions
- type LinkTypeValue
- type LinkedWorkItem
- type Links
- type LintResult
- type ListAccessRequestsOptions
- type ListActiveIntegrationsOptions
- 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 ListEnterpriseUsersOptions
- type ListEnvironmentsOptions
- type ListEpicNotesOptions
- type ListFeatureFlagUserListsOptions
- type ListFreezePeriodsOptions
- type ListGeoNodesOptions
- type ListGeoSitesOptions
- 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 ListGroupPersonalAccessTokensOptions
- type ListGroupProjectsOptions
- type ListGroupProtectedBranchesOptions
- type ListGroupProtectedEnvironmentsOptions
- type ListGroupRegistryRepositoriesOptions
- type ListGroupRelationsStatusOptions
- type ListGroupReleasesOptions
- type ListGroupSSHKeysOptions
- type ListGroupSharedProjectsOptions
- 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 ListMarkdownUploadsOptions
- type ListMembershipsForBillableGroupMemberOptions
- type ListMergeRequestDiffsOptions
- type ListMergeRequestDiscussionsOptions
- type ListMergeRequestNotesOptions
- type ListMergeRequestsClosingIssueOptions
- type ListMergeRequestsOptions
- type ListMergeRequestsRelatedToIssueOptions
- type ListMergeTrainsOptions
- type ListMetricImagesOptions
- type ListMilestoneEventsOptions
- type ListMilestonesOptions
- type ListNamespacesOptions
- type ListOptions
- type ListPackageFilesOptions
- type ListPackageProtectionRulesOptions
- type ListPagesDomainsOptions
- type ListPendingInvitationsOptions
- type ListPersonalAccessTokensOptions
- type ListPipelineSchedulesOptions
- type ListPipelineTriggersOptions
- type ListPipelinesTriggeredByScheduleOptions
- type ListProjectAccessTokensOptions
- type ListProjectBadgesOptions
- type ListProjectDependenciesOptions
- type ListProjectDeployKeysOptions
- type ListProjectDeployTokensOptions
- type ListProjectDeploymentsOptions
- type ListProjectExternalStatusChecksOptions
- type ListProjectFeatureFlagOptions
- type ListProjectGroupOptions
- type ListProjectHooksOptions
- type ListProjectInvitedGroupOptions
- type ListProjectIssuesOptions
- type ListProjectIterationsOptions
- type ListProjectMembersOptions
- type ListProjectMergeRequestExternalStatusChecksOptions
- type ListProjectMergeRequestsOptions
- type ListProjectMirrorOptions
- type ListProjectPackagesOptions
- type ListProjectPipelinesOptions
- type ListProjectRegistryRepositoriesOptions
- type ListProjectRunnersOptions
- type ListProjectSecureFilesOptions
- type ListProjectSnippetsOptions
- type ListProjectStarrersOptions
- type ListProjectTemplatesOptions
- type ListProjectUserOptions
- type ListProjectVariablesOptions
- type ListProjectVisibleEventsOptions
- type ListProjectVulnerabilitiesOptions
- type ListProjectsOptions
- type ListProtectedBranchesOptions
- type ListProtectedEnvironmentsOptions
- type ListProtectedTagsOptions
- type ListProvisionedUsersOptions
- type ListRegistryRepositoryTagsOptions
- type ListRelatedIssuesOptions
- type ListReleaseLinksOptions
- type ListReleasesOptions
- type ListRunnerControllerTokensOptions
- type ListRunnerControllersOptions
- type ListRunnerJobsOptions
- type ListRunnersOptions
- type ListSSHKeysForUserOptions
- type ListSSHKeysOptions
- type ListServiceAccountPersonalAccessTokensOptions
- type ListServiceAccountsOptions
- type ListSnippetDiscussionsOptions
- type ListSnippetNotesOptions
- type ListSnippetsOptions
- type ListStateEventsOptions
- type ListStatusOfAllGeoSitesOptions
- type ListSubGroupsOptions
- type ListTagsOptions
- type ListTemplatesOptions
- type ListTodosOptions
- type ListTopicsOptions
- type ListTreeOptions
- type ListUserProjectDeployKeysOptions
- type ListUsersOptions
- type ListWeightEventsOptions
- type ListWikisOptions
- type ListWorkItemsOptions
- type ManagementProject
- type MarkMigrationAsSuccessfulOptions
- type Markdown
- type MarkdownService
- type MarkdownServiceInterface
- type MarkdownUpload
- type MarkdownUploadedFile
- type MatrixIntegration
- type MatrixIntegrationProperties
- type MatrixService
- type MatrixServiceProperties
- type MattermostIntegration
- type MattermostIntegrationProperties
- type MattermostService
- type MattermostServiceProperties
- type MattermostSlashCommandsProperties
- type MattermostSlashCommandsService
- type MemberCreatedBy
- type MemberEvent
- type MemberRole
- type MemberRolesService
- func (s *MemberRolesService) CreateInstanceMemberRole(opt *CreateMemberRoleOptions, options ...RequestOptionFunc) (*MemberRole, *Response, error)
- func (s *MemberRolesService) CreateMemberRole(gid any, opt *CreateMemberRoleOptions, options ...RequestOptionFunc) (*MemberRole, *Response, error)
- func (s *MemberRolesService) DeleteInstanceMemberRole(memberRoleID int64, options ...RequestOptionFunc) (*Response, error)
- func (s *MemberRolesService) DeleteMemberRole(gid any, memberRole int64, options ...RequestOptionFunc) (*Response, error)
- func (s *MemberRolesService) ListInstanceMemberRoles(options ...RequestOptionFunc) ([]*MemberRole, *Response, error)
- func (s *MemberRolesService) ListMemberRoles(gid any, options ...RequestOptionFunc) ([]*MemberRole, *Response, error)
- type MemberRolesServiceInterface
- type MergeBaseOptions
- type MergeCommentEvent
- type MergeCommentEventMergeRequest
- type MergeCommentEventObjectAttributes
- type MergeCommentEventProject
- type MergeEvent
- type MergeEventChanges
- type MergeEventChangesDraft
- type MergeEventChangesLastEditedAt
- type MergeEventChangesLastEditedByID
- type MergeEventChangesMergeStatus
- type MergeEventChangesMilestoneID
- type MergeEventChangesReviewers
- type MergeEventChangesSourceBranch
- type MergeEventChangesSourceProjectID
- type MergeEventChangesTargetBranch
- type MergeEventChangesTargetProjectID
- type MergeEventObjectAttributes
- type MergeEventProject
- type MergeMethodValue
- type MergeParams
- type MergeRequest
- type MergeRequestApprovalRule
- type MergeRequestApprovalSetting
- type MergeRequestApprovalSettings
- type MergeRequestApprovalSettingsService
- func (s *MergeRequestApprovalSettingsService) GetGroupMergeRequestApprovalSettings(gid any, options ...RequestOptionFunc) (*MergeRequestApprovalSettings, *Response, error)
- func (s *MergeRequestApprovalSettingsService) GetProjectMergeRequestApprovalSettings(pid any, options ...RequestOptionFunc) (*MergeRequestApprovalSettings, *Response, error)
- func (s *MergeRequestApprovalSettingsService) UpdateGroupMergeRequestApprovalSettings(gid any, opt *UpdateGroupMergeRequestApprovalSettingsOptions, ...) (*MergeRequestApprovalSettings, *Response, error)
- func (s *MergeRequestApprovalSettingsService) UpdateProjectMergeRequestApprovalSettings(pid any, opt *UpdateProjectMergeRequestApprovalSettingsOptions, ...) (*MergeRequestApprovalSettings, *Response, error)
- type MergeRequestApprovalSettingsServiceInterface
- type MergeRequestApprovalState
- type MergeRequestApprovals
- type MergeRequestApprovalsService
- func (s *MergeRequestApprovalsService) ApproveMergeRequest(pid any, mr int64, opt *ApproveMergeRequestOptions, ...) (*MergeRequestApprovals, *Response, error)
- func (s *MergeRequestApprovalsService) ChangeApprovalConfiguration(pid any, mergeRequest int64, ...) (*MergeRequest, *Response, error)deprecated
- func (s *MergeRequestApprovalsService) CreateApprovalRule(pid any, mergeRequest int64, opt *CreateMergeRequestApprovalRuleOptions, ...) (*MergeRequestApprovalRule, *Response, error)
- func (s *MergeRequestApprovalsService) DeleteApprovalRule(pid any, mergeRequest int64, approvalRule int64, options ...RequestOptionFunc) (*Response, error)
- func (s *MergeRequestApprovalsService) GetApprovalRules(pid any, mergeRequest int64, options ...RequestOptionFunc) ([]*MergeRequestApprovalRule, *Response, error)
- func (s *MergeRequestApprovalsService) GetApprovalState(pid any, mergeRequest int64, options ...RequestOptionFunc) (*MergeRequestApprovalState, *Response, error)
- func (s *MergeRequestApprovalsService) GetConfiguration(pid any, mr int64, options ...RequestOptionFunc) (*MergeRequestApprovals, *Response, error)
- func (s *MergeRequestApprovalsService) ResetApprovalsOfMergeRequest(pid any, mr int64, options ...RequestOptionFunc) (*Response, error)
- func (s *MergeRequestApprovalsService) UnapproveMergeRequest(pid any, mr int64, options ...RequestOptionFunc) (*Response, error)
- func (s *MergeRequestApprovalsService) UpdateApprovalRule(pid any, mergeRequest int64, approvalRule int64, ...) (*MergeRequestApprovalRule, *Response, error)
- type MergeRequestApprovalsServiceInterface
- type MergeRequestApproverGroup
- type MergeRequestApproverNestedGroup
- type MergeRequestApproverUser
- type MergeRequestContextCommitsService
- func (s *MergeRequestContextCommitsService) CreateMergeRequestContextCommits(pid any, mergeRequest int64, opt *CreateMergeRequestContextCommitsOptions, ...) ([]*Commit, *Response, error)
- func (s *MergeRequestContextCommitsService) DeleteMergeRequestContextCommits(pid any, mergeRequest int64, opt *DeleteMergeRequestContextCommitsOptions, ...) (*Response, error)
- func (s *MergeRequestContextCommitsService) ListMergeRequestContextCommits(pid any, mergeRequest int64, options ...RequestOptionFunc) ([]*Commit, *Response, error)
- type MergeRequestContextCommitsServiceInterface
- type MergeRequestDependency
- type MergeRequestDiff
- type MergeRequestDiffRefs
- type MergeRequestDiffVersion
- type MergeRequestReviewer
- type MergeRequestUser
- type MergeRequestsCount
- type MergeRequestsService
- func (s *MergeRequestsService) AcceptMergeRequest(pid any, mergeRequest int64, opt *AcceptMergeRequestOptions, ...) (*MergeRequest, *Response, error)
- func (s *MergeRequestsService) AddSpentTime(pid any, mergeRequest int64, opt *AddSpentTimeOptions, ...) (*TimeStats, *Response, error)
- func (s *MergeRequestsService) CancelMergeWhenPipelineSucceeds(pid any, mergeRequest int64, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
- func (s *MergeRequestsService) CreateMergeRequest(pid any, opt *CreateMergeRequestOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
- func (s *MergeRequestsService) CreateMergeRequestDependency(pid any, mergeRequest int64, opts CreateMergeRequestDependencyOptions, ...) (*MergeRequestDependency, *Response, error)
- func (s *MergeRequestsService) CreateMergeRequestPipeline(pid any, mergeRequest int64, options ...RequestOptionFunc) (*PipelineInfo, *Response, error)
- func (s *MergeRequestsService) CreateTodo(pid any, mergeRequest int64, options ...RequestOptionFunc) (*Todo, *Response, error)
- func (s *MergeRequestsService) DeleteMergeRequest(pid any, mergeRequest int64, options ...RequestOptionFunc) (*Response, error)
- func (s *MergeRequestsService) DeleteMergeRequestDependency(pid any, mergeRequest int64, blockingMergeRequest int64, ...) (*Response, error)
- func (s *MergeRequestsService) GetIssuesClosedOnMerge(pid any, mergeRequest int64, opt *GetIssuesClosedOnMergeOptions, ...) ([]*Issue, *Response, error)
- func (s *MergeRequestsService) GetMergeRequest(pid any, mergeRequest int64, opt *GetMergeRequestsOptions, ...) (*MergeRequest, *Response, error)
- func (s *MergeRequestsService) GetMergeRequestApprovals(pid any, mergeRequest int64, options ...RequestOptionFunc) (*MergeRequestApprovals, *Response, error)
- func (s *MergeRequestsService) GetMergeRequestChanges(pid any, mergeRequest int64, opt *GetMergeRequestChangesOptions, ...) (*MergeRequest, *Response, error)deprecated
- func (s *MergeRequestsService) GetMergeRequestCommits(pid any, mergeRequest int64, opt *GetMergeRequestCommitsOptions, ...) ([]*Commit, *Response, error)
- func (s *MergeRequestsService) GetMergeRequestDependencies(pid any, mergeRequest int64, options ...RequestOptionFunc) ([]MergeRequestDependency, *Response, error)
- func (s *MergeRequestsService) GetMergeRequestDiffVersions(pid any, mergeRequest int64, opt *GetMergeRequestDiffVersionsOptions, ...) ([]*MergeRequestDiffVersion, *Response, error)
- func (s *MergeRequestsService) GetMergeRequestParticipants(pid any, mergeRequest int64, options ...RequestOptionFunc) ([]*BasicUser, *Response, error)
- func (s *MergeRequestsService) GetMergeRequestReviewers(pid any, mergeRequest int64, options ...RequestOptionFunc) ([]*MergeRequestReviewer, *Response, error)
- func (s *MergeRequestsService) GetSingleMergeRequestDiffVersion(pid any, mergeRequest, version int64, ...) (*MergeRequestDiffVersion, *Response, error)
- func (s *MergeRequestsService) GetTimeSpent(pid any, mergeRequest int64, options ...RequestOptionFunc) (*TimeStats, *Response, error)
- func (s *MergeRequestsService) ListGroupMergeRequests(gid any, opt *ListGroupMergeRequestsOptions, options ...RequestOptionFunc) ([]*BasicMergeRequest, *Response, error)
- func (s *MergeRequestsService) ListMergeRequestDiffs(pid any, mergeRequest int64, opt *ListMergeRequestDiffsOptions, ...) ([]*MergeRequestDiff, *Response, error)
- func (s *MergeRequestsService) ListMergeRequestPipelines(pid any, mergeRequest int64, options ...RequestOptionFunc) ([]*PipelineInfo, *Response, error)
- func (s *MergeRequestsService) ListMergeRequests(opt *ListMergeRequestsOptions, options ...RequestOptionFunc) ([]*BasicMergeRequest, *Response, error)
- func (s *MergeRequestsService) ListProjectMergeRequests(pid any, opt *ListProjectMergeRequestsOptions, options ...RequestOptionFunc) ([]*BasicMergeRequest, *Response, error)
- func (s *MergeRequestsService) ListRelatedIssues(pid any, mergeRequest int64, opt *ListRelatedIssuesOptions, ...) ([]*Issue, *Response, error)
- func (s *MergeRequestsService) RebaseMergeRequest(pid any, mergeRequest int64, opt *RebaseMergeRequestOptions, ...) (*Response, error)
- func (s *MergeRequestsService) ResetSpentTime(pid any, mergeRequest int64, options ...RequestOptionFunc) (*TimeStats, *Response, error)
- func (s *MergeRequestsService) ResetTimeEstimate(pid any, mergeRequest int64, options ...RequestOptionFunc) (*TimeStats, *Response, error)
- func (s *MergeRequestsService) SetTimeEstimate(pid any, mergeRequest int64, opt *SetTimeEstimateOptions, ...) (*TimeStats, *Response, error)
- func (s *MergeRequestsService) ShowMergeRequestRawDiffs(pid any, mergeRequest int64, opt *ShowMergeRequestRawDiffsOptions, ...) ([]byte, *Response, error)
- func (s *MergeRequestsService) SubscribeToMergeRequest(pid any, mergeRequest int64, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
- func (s *MergeRequestsService) UnsubscribeFromMergeRequest(pid any, mergeRequest int64, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
- func (s *MergeRequestsService) UpdateMergeRequest(pid any, mergeRequest int64, opt *UpdateMergeRequestOptions, ...) (*MergeRequest, *Response, error)
- type MergeRequestsServiceInterface
- type MergeStatusCheck
- type MergeTrain
- type MergeTrainMergeRequest
- type MergeTrainsService
- func (s *MergeTrainsService) AddMergeRequestToMergeTrain(pid any, mergeRequest int64, opts *AddMergeRequestToMergeTrainOptions, ...) ([]*MergeTrain, *Response, error)
- func (s *MergeTrainsService) GetMergeRequestOnAMergeTrain(pid any, mergeRequest int64, options ...RequestOptionFunc) (*MergeTrain, *Response, error)
- func (s *MergeTrainsService) ListMergeRequestInMergeTrain(pid any, targetBranch string, opts *ListMergeTrainsOptions, ...) ([]*MergeTrain, *Response, error)
- func (s *MergeTrainsService) ListProjectMergeTrains(pid any, opt *ListMergeTrainsOptions, options ...RequestOptionFunc) ([]*MergeTrain, *Response, error)
- type MergeTrainsServiceInterface
- type Metadata
- type MetadataKAS
- type MetadataService
- type MetadataServiceInterface
- type MetricImage
- type MicrosoftTeamsIntegration
- type MicrosoftTeamsIntegrationProperties
- type MicrosoftTeamsService
- type MicrosoftTeamsServiceProperties
- type Milestone
- type MilestoneEvent
- type MilestoneEventGroup
- type MilestoneEventObjectAttributes
- type MilestoneEventProject
- type MilestoneWebhookEvent
- type MilestonesService
- func (s *MilestonesService) CreateMilestone(pid any, opt *CreateMilestoneOptions, options ...RequestOptionFunc) (*Milestone, *Response, error)
- func (s *MilestonesService) DeleteMilestone(pid any, milestone int64, options ...RequestOptionFunc) (*Response, error)
- func (s *MilestonesService) GetMilestone(pid any, milestone int64, options ...RequestOptionFunc) (*Milestone, *Response, error)
- func (s *MilestonesService) GetMilestoneIssues(pid any, milestone int64, opt *GetMilestoneIssuesOptions, ...) ([]*Issue, *Response, error)
- func (s *MilestonesService) GetMilestoneMergeRequests(pid any, milestone int64, opt *GetMilestoneMergeRequestsOptions, ...) ([]*BasicMergeRequest, *Response, error)
- func (s *MilestonesService) ListMilestones(pid any, opt *ListMilestonesOptions, options ...RequestOptionFunc) ([]*Milestone, *Response, error)
- func (s *MilestonesService) UpdateMilestone(pid any, milestone int64, opt *UpdateMilestoneOptions, ...) (*Milestone, *Response, error)
- type MilestonesServiceInterface
- type ModelRegistryService
- type ModelRegistryServiceInterface
- type ModifyUserOptions
- type MoveIssueOptions
- type Namespace
- type NamespaceExistance
- type NamespaceExistsOptions
- type NamespacesService
- func (s *NamespacesService) GetNamespace(id any, options ...RequestOptionFunc) (*Namespace, *Response, error)
- func (s *NamespacesService) ListNamespaces(opt *ListNamespacesOptions, options ...RequestOptionFunc) ([]*Namespace, *Response, error)
- func (s *NamespacesService) NamespaceExists(id any, opt *NamespaceExistsOptions, options ...RequestOptionFunc) (*NamespaceExistance, *Response, error)
- func (s *NamespacesService) SearchNamespace(query string, options ...RequestOptionFunc) ([]*Namespace, *Response, error)
- type NamespacesServiceInterface
- type NewMembersCount
- type NoEscape
- type Note
- type NoteAuthor
- type NotePosition
- type NoteResolvedBy
- type NoteTypeValue
- type NotesService
- func (s *NotesService) CreateEpicNote(gid any, epic int64, opt *CreateEpicNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
- func (s *NotesService) CreateIssueNote(pid any, issue int64, opt *CreateIssueNoteOptions, ...) (*Note, *Response, error)
- func (s *NotesService) CreateMergeRequestNote(pid any, mergeRequest int64, opt *CreateMergeRequestNoteOptions, ...) (*Note, *Response, error)
- func (s *NotesService) CreateSnippetNote(pid any, snippet int64, opt *CreateSnippetNoteOptions, ...) (*Note, *Response, error)
- func (s *NotesService) DeleteEpicNote(gid any, epic, note int64, options ...RequestOptionFunc) (*Response, error)
- func (s *NotesService) DeleteIssueNote(pid any, issue, note int64, options ...RequestOptionFunc) (*Response, error)
- func (s *NotesService) DeleteMergeRequestNote(pid any, mergeRequest, note int64, options ...RequestOptionFunc) (*Response, error)
- func (s *NotesService) DeleteSnippetNote(pid any, snippet, note int64, options ...RequestOptionFunc) (*Response, error)
- func (s *NotesService) GetEpicNote(gid any, epic, note int64, options ...RequestOptionFunc) (*Note, *Response, error)
- func (s *NotesService) GetIssueNote(pid any, issue, note int64, options ...RequestOptionFunc) (*Note, *Response, error)
- func (s *NotesService) GetMergeRequestNote(pid any, mergeRequest, note int64, options ...RequestOptionFunc) (*Note, *Response, error)
- func (s *NotesService) GetSnippetNote(pid any, snippet, note int64, options ...RequestOptionFunc) (*Note, *Response, error)
- func (s *NotesService) ListEpicNotes(gid any, epic int64, opt *ListEpicNotesOptions, options ...RequestOptionFunc) ([]*Note, *Response, error)
- func (s *NotesService) ListIssueNotes(pid any, issue int64, opt *ListIssueNotesOptions, options ...RequestOptionFunc) ([]*Note, *Response, error)
- func (s *NotesService) ListMergeRequestNotes(pid any, mergeRequest int64, opt *ListMergeRequestNotesOptions, ...) ([]*Note, *Response, error)
- func (s *NotesService) ListSnippetNotes(pid any, snippet int64, opt *ListSnippetNotesOptions, ...) ([]*Note, *Response, error)
- func (s *NotesService) UpdateEpicNote(gid any, epic, note int64, opt *UpdateEpicNoteOptions, ...) (*Note, *Response, error)
- func (s *NotesService) UpdateIssueNote(pid any, issue, note int64, opt *UpdateIssueNoteOptions, ...) (*Note, *Response, error)
- func (s *NotesService) UpdateMergeRequestNote(pid any, mergeRequest, note int64, opt *UpdateMergeRequestNoteOptions, ...) (*Note, *Response, error)
- func (s *NotesService) UpdateSnippetNote(pid any, snippet, note int64, opt *UpdateSnippetNoteOptions, ...) (*Note, *Response, error)
- type NotesServiceInterface
- type NotificationEvents
- type NotificationLevelValue
- type NotificationSettings
- type NotificationSettingsOptions
- type NotificationSettingsService
- func (s *NotificationSettingsService) GetGlobalSettings(options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
- func (s *NotificationSettingsService) GetSettingsForGroup(gid any, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
- func (s *NotificationSettingsService) GetSettingsForProject(pid any, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
- func (s *NotificationSettingsService) UpdateGlobalSettings(opt *NotificationSettingsOptions, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
- func (s *NotificationSettingsService) UpdateSettingsForGroup(gid any, opt *NotificationSettingsOptions, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
- func (s *NotificationSettingsService) UpdateSettingsForProject(pid any, opt *NotificationSettingsOptions, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
- type NotificationSettingsServiceInterface
- type Nullable
- func (t Nullable[T]) Get() (T, error)
- func (t Nullable[T]) IsNull() bool
- func (t Nullable[T]) IsSpecified() bool
- func (t Nullable[T]) MarshalJSON() ([]byte, error)
- func (t Nullable[T]) MustGet() T
- func (t *Nullable[T]) Set(value T)
- func (t *Nullable[T]) SetNull()
- func (t *Nullable[T]) SetUnspecified()
- func (t *Nullable[T]) UnmarshalJSON(data []byte) error
- type OAuthTokenSource
- type Package
- type PackageFile
- type PackageLinks
- type PackageProtectionRule
- type PackageTag
- type PackagesService
- func (s *PackagesService) DeletePackageFile(pid any, pkg, file int64, options ...RequestOptionFunc) (*Response, error)
- func (s *PackagesService) DeleteProjectPackage(pid any, pkg int64, options ...RequestOptionFunc) (*Response, error)
- func (s *PackagesService) ListGroupPackages(gid any, opt *ListGroupPackagesOptions, options ...RequestOptionFunc) ([]*GroupPackage, *Response, error)
- func (s *PackagesService) ListPackageFiles(pid any, pkg int64, opt *ListPackageFilesOptions, options ...RequestOptionFunc) ([]*PackageFile, *Response, error)
- func (s *PackagesService) ListProjectPackages(pid any, opt *ListProjectPackagesOptions, options ...RequestOptionFunc) ([]*Package, *Response, error)
- type PackagesServiceInterface
- type PageInfo
- type Pages
- type PagesDeployment
- type PagesDomain
- type PagesDomainCertificate
- type PagesDomainsService
- func (s *PagesDomainsService) CreatePagesDomain(pid any, opt *CreatePagesDomainOptions, options ...RequestOptionFunc) (*PagesDomain, *Response, error)
- func (s *PagesDomainsService) DeletePagesDomain(pid any, domain string, options ...RequestOptionFunc) (*Response, error)
- func (s *PagesDomainsService) GetPagesDomain(pid any, domain string, options ...RequestOptionFunc) (*PagesDomain, *Response, error)
- func (s *PagesDomainsService) ListAllPagesDomains(options ...RequestOptionFunc) ([]*PagesDomain, *Response, error)
- func (s *PagesDomainsService) ListPagesDomains(pid any, opt *ListPagesDomainsOptions, options ...RequestOptionFunc) ([]*PagesDomain, *Response, error)
- func (s *PagesDomainsService) UpdatePagesDomain(pid any, domain string, opt *UpdatePagesDomainOptions, ...) (*PagesDomain, *Response, error)
- type PagesDomainsServiceInterface
- type PagesService
- func (s *PagesService) GetPages(gid any, options ...RequestOptionFunc) (*Pages, *Response, error)
- func (s *PagesService) UnpublishPages(gid any, options ...RequestOptionFunc) (*Response, error)
- func (s *PagesService) UpdatePages(pid any, opt UpdatePagesOptions, options ...RequestOptionFunc) (*Pages, *Response, error)
- type PagesServiceInterface
- type PaginationOptionFunc
- type PasswordCredentialsAuthSource
- type PatchProjectJobTokenAccessSettingsOptions
- type Pather
- type PendingInvite
- type Permissions
- type PersonalAccessToken
- type PersonalAccessTokensService
- func (s *PersonalAccessTokensService) GetSinglePersonalAccessToken(options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
- func (s *PersonalAccessTokensService) GetSinglePersonalAccessTokenByID(token int64, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
- func (s *PersonalAccessTokensService) ListPersonalAccessTokens(opt *ListPersonalAccessTokensOptions, options ...RequestOptionFunc) ([]*PersonalAccessToken, *Response, error)
- func (s *PersonalAccessTokensService) RevokePersonalAccessTokenByID(token int64, options ...RequestOptionFunc) (*Response, error)
- func (s *PersonalAccessTokensService) RevokePersonalAccessTokenSelf(options ...RequestOptionFunc) (*Response, error)
- func (s *PersonalAccessTokensService) RotatePersonalAccessToken(token int64, opt *RotatePersonalAccessTokenOptions, ...) (*PersonalAccessToken, *Response, error)
- func (s *PersonalAccessTokensService) RotatePersonalAccessTokenByID(token int64, opt *RotatePersonalAccessTokenOptions, ...) (*PersonalAccessToken, *Response, error)
- func (s *PersonalAccessTokensService) RotatePersonalAccessTokenSelf(opt *RotatePersonalAccessTokenOptions, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
- type PersonalAccessTokensServiceInterface
- type Pipeline
- type PipelineEvent
- type PipelineEventBuild
- type PipelineEventBuildArtifactsFile
- type PipelineEventBuildRunner
- type PipelineEventCommit
- type PipelineEventMergeRequest
- type PipelineEventObjectAttributes
- type PipelineEventObjectAttributesVariable
- type PipelineEventProject
- type PipelineInfo
- type PipelineInput
- type PipelineInputValue
- type PipelineInputValueInterface
- type PipelineInputValueType
- type PipelineInputsOption
- type PipelineSchedule
- type PipelineScheduleScopeValue
- type PipelineSchedulesService
- func (s *PipelineSchedulesService) CreatePipelineSchedule(pid any, opt *CreatePipelineScheduleOptions, options ...RequestOptionFunc) (*PipelineSchedule, *Response, error)
- func (s *PipelineSchedulesService) CreatePipelineScheduleVariable(pid any, schedule int64, opt *CreatePipelineScheduleVariableOptions, ...) (*PipelineVariable, *Response, error)
- func (s *PipelineSchedulesService) DeletePipelineSchedule(pid any, schedule int64, options ...RequestOptionFunc) (*Response, error)
- func (s *PipelineSchedulesService) DeletePipelineScheduleVariable(pid any, schedule int64, key string, options ...RequestOptionFunc) (*PipelineVariable, *Response, error)
- func (s *PipelineSchedulesService) EditPipelineSchedule(pid any, schedule int64, opt *EditPipelineScheduleOptions, ...) (*PipelineSchedule, *Response, error)
- func (s *PipelineSchedulesService) EditPipelineScheduleVariable(pid any, schedule int64, key string, opt *EditPipelineScheduleVariableOptions, ...) (*PipelineVariable, *Response, error)
- func (s *PipelineSchedulesService) GetPipelineSchedule(pid any, schedule int64, options ...RequestOptionFunc) (*PipelineSchedule, *Response, error)
- func (s *PipelineSchedulesService) ListPipelineSchedules(pid any, opt *ListPipelineSchedulesOptions, options ...RequestOptionFunc) ([]*PipelineSchedule, *Response, error)
- func (s *PipelineSchedulesService) ListPipelinesTriggeredBySchedule(pid any, schedule int64, opt *ListPipelinesTriggeredByScheduleOptions, ...) ([]*Pipeline, *Response, error)
- func (s *PipelineSchedulesService) RunPipelineSchedule(pid any, schedule int64, options ...RequestOptionFunc) (*Response, error)
- func (s *PipelineSchedulesService) TakeOwnershipOfPipelineSchedule(pid any, schedule int64, options ...RequestOptionFunc) (*PipelineSchedule, *Response, error)
- type PipelineSchedulesServiceInterface
- type PipelineSource
- type PipelineTestCases
- type PipelineTestReport
- type PipelineTestReportSummary
- type PipelineTestSuiteSummary
- type PipelineTestSuites
- type PipelineTotalSummary
- type PipelineTrigger
- type PipelineTriggersService
- func (s *PipelineTriggersService) AddPipelineTrigger(pid any, opt *AddPipelineTriggerOptions, options ...RequestOptionFunc) (*PipelineTrigger, *Response, error)
- func (s *PipelineTriggersService) DeletePipelineTrigger(pid any, trigger int64, options ...RequestOptionFunc) (*Response, error)
- func (s *PipelineTriggersService) EditPipelineTrigger(pid any, trigger int64, opt *EditPipelineTriggerOptions, ...) (*PipelineTrigger, *Response, error)
- func (s *PipelineTriggersService) GetPipelineTrigger(pid any, trigger int64, options ...RequestOptionFunc) (*PipelineTrigger, *Response, error)
- func (s *PipelineTriggersService) ListPipelineTriggers(pid any, opt *ListPipelineTriggersOptions, options ...RequestOptionFunc) ([]*PipelineTrigger, *Response, error)
- func (s *PipelineTriggersService) RunPipelineTrigger(pid any, opt *RunPipelineTriggerOptions, options ...RequestOptionFunc) (*Pipeline, *Response, error)
- type PipelineTriggersServiceInterface
- type PipelineVariable
- type PipelineVariableOptions
- type PipelinesEmailProperties
- type PipelinesEmailService
- type PipelinesService
- func (s *PipelinesService) CancelPipelineBuild(pid any, pipeline int64, options ...RequestOptionFunc) (*Pipeline, *Response, error)
- func (s *PipelinesService) CreatePipeline(pid any, opt *CreatePipelineOptions, options ...RequestOptionFunc) (*Pipeline, *Response, error)
- func (s *PipelinesService) DeletePipeline(pid any, pipeline int64, options ...RequestOptionFunc) (*Response, error)
- func (s *PipelinesService) GetLatestPipeline(pid any, opt *GetLatestPipelineOptions, options ...RequestOptionFunc) (*Pipeline, *Response, error)
- func (s *PipelinesService) GetPipeline(pid any, pipeline int64, options ...RequestOptionFunc) (*Pipeline, *Response, error)
- func (s *PipelinesService) GetPipelineTestReport(pid any, pipeline int64, options ...RequestOptionFunc) (*PipelineTestReport, *Response, error)
- func (s *PipelinesService) GetPipelineTestReportSummary(pid any, pipeline int64, options ...RequestOptionFunc) (*PipelineTestReportSummary, *Response, error)
- func (s *PipelinesService) GetPipelineVariables(pid any, pipeline int64, options ...RequestOptionFunc) ([]*PipelineVariable, *Response, error)
- func (s *PipelinesService) ListProjectPipelines(pid any, opt *ListProjectPipelinesOptions, options ...RequestOptionFunc) ([]*PipelineInfo, *Response, error)
- func (s *PipelinesService) RetryPipelineBuild(pid any, pipeline int64, options ...RequestOptionFunc) (*Pipeline, *Response, error)
- func (s *PipelinesService) UpdatePipelineMetadata(pid any, pipeline int64, opt *UpdatePipelineMetadataOptions, ...) (*Pipeline, *Response, error)
- type PipelinesServiceInterface
- type PlanLimit
- type PlanLimitsService
- type PlanLimitsServiceInterface
- type PlatformKubernetes
- type PlayJobOptions
- type PositionOptions
- type PostCommitCommentOptions
- type ProcessMetrics
- type ProcessMetricsProcess
- type Project
- type ProjectAccess
- type ProjectAccessToken
- type ProjectAccessTokensService
- func (s *ProjectAccessTokensService) CreateProjectAccessToken(pid any, opt *CreateProjectAccessTokenOptions, options ...RequestOptionFunc) (*ProjectAccessToken, *Response, error)
- func (s *ProjectAccessTokensService) GetProjectAccessToken(pid any, id int64, options ...RequestOptionFunc) (*ProjectAccessToken, *Response, error)
- func (s *ProjectAccessTokensService) ListProjectAccessTokens(pid any, opt *ListProjectAccessTokensOptions, options ...RequestOptionFunc) ([]*ProjectAccessToken, *Response, error)
- func (s *ProjectAccessTokensService) RevokeProjectAccessToken(pid any, id int64, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectAccessTokensService) RotateProjectAccessToken(pid any, id int64, opt *RotateProjectAccessTokenOptions, ...) (*ProjectAccessToken, *Response, error)
- func (s *ProjectAccessTokensService) RotateProjectAccessTokenSelf(pid any, opt *RotateProjectAccessTokenOptions, options ...RequestOptionFunc) (*ProjectAccessToken, *Response, error)
- type ProjectAccessTokensServiceInterface
- type ProjectAlias
- type ProjectAliasesService
- func (s *ProjectAliasesService) CreateProjectAlias(opt *CreateProjectAliasOptions, options ...RequestOptionFunc) (*ProjectAlias, *Response, error)
- func (s *ProjectAliasesService) DeleteProjectAlias(name string, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectAliasesService) GetProjectAlias(name string, options ...RequestOptionFunc) (*ProjectAlias, *Response, error)
- func (s *ProjectAliasesService) ListProjectAliases(options ...RequestOptionFunc) ([]*ProjectAlias, *Response, error)
- type ProjectAliasesServiceInterface
- type ProjectApprovalRule
- type ProjectApprovals
- type ProjectAvatar
- type ProjectBadge
- type ProjectBadgePreviewOptions
- type ProjectBadgesService
- func (s *ProjectBadgesService) AddProjectBadge(pid any, opt *AddProjectBadgeOptions, options ...RequestOptionFunc) (*ProjectBadge, *Response, error)
- func (s *ProjectBadgesService) DeleteProjectBadge(pid any, badge int64, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectBadgesService) EditProjectBadge(pid any, badge int64, opt *EditProjectBadgeOptions, ...) (*ProjectBadge, *Response, error)
- func (s *ProjectBadgesService) GetProjectBadge(pid any, badge int64, options ...RequestOptionFunc) (*ProjectBadge, *Response, error)
- func (s *ProjectBadgesService) ListProjectBadges(pid any, opt *ListProjectBadgesOptions, options ...RequestOptionFunc) ([]*ProjectBadge, *Response, error)
- func (s *ProjectBadgesService) PreviewProjectBadge(pid any, opt *ProjectBadgePreviewOptions, options ...RequestOptionFunc) (*ProjectBadge, *Response, error)
- type ProjectBadgesServiceInterface
- type ProjectCluster
- func (v ProjectCluster) String() stringdeprecated
- type ProjectClustersService
- func (s *ProjectClustersService) AddCluster(pid any, opt *AddClusterOptions, options ...RequestOptionFunc) (*ProjectCluster, *Response, error)
- func (s *ProjectClustersService) DeleteCluster(pid any, cluster int64, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectClustersService) EditCluster(pid any, cluster int64, opt *EditClusterOptions, options ...RequestOptionFunc) (*ProjectCluster, *Response, error)
- func (s *ProjectClustersService) GetCluster(pid any, cluster int64, options ...RequestOptionFunc) (*ProjectCluster, *Response, error)
- func (s *ProjectClustersService) ListClusters(pid any, options ...RequestOptionFunc) ([]*ProjectCluster, *Response, error)
- type ProjectClustersServiceInterfacedeprecated
- type ProjectCreationLevelValue
- type ProjectDeployKey
- type ProjectEvent
- type ProjectEventData
- type ProjectEventNote
- type ProjectEventNoteAuthor
- type ProjectEventOwner
- type ProjectEventPushData
- type ProjectFeatureFlag
- type ProjectFeatureFlagScope
- type ProjectFeatureFlagScopeOptions
- type ProjectFeatureFlagService
- func (s *ProjectFeatureFlagService) CreateProjectFeatureFlag(pid any, opt *CreateProjectFeatureFlagOptions, options ...RequestOptionFunc) (*ProjectFeatureFlag, *Response, error)
- func (s *ProjectFeatureFlagService) DeleteProjectFeatureFlag(pid any, name string, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectFeatureFlagService) GetProjectFeatureFlag(pid any, name string, options ...RequestOptionFunc) (*ProjectFeatureFlag, *Response, error)
- func (s *ProjectFeatureFlagService) ListProjectFeatureFlags(pid any, opt *ListProjectFeatureFlagOptions, options ...RequestOptionFunc) ([]*ProjectFeatureFlag, *Response, error)
- func (s *ProjectFeatureFlagService) UpdateProjectFeatureFlag(pid any, name string, opt *UpdateProjectFeatureFlagOptions, ...) (*ProjectFeatureFlag, *Response, error)
- type ProjectFeatureFlagServiceInterface
- type ProjectFeatureFlagStrategy
- type ProjectFeatureFlagStrategyParameter
- type ProjectForkRelation
- type ProjectGroup
- type ProjectHook
- type ProjectHookEvent
- type ProjectID
- type ProjectImportExportService
- func (s *ProjectImportExportService) ExportDownload(pid any, options ...RequestOptionFunc) ([]byte, *Response, error)
- func (s *ProjectImportExportService) ExportStatus(pid any, options ...RequestOptionFunc) (*ExportStatus, *Response, error)
- func (s *ProjectImportExportService) ImportFromFile(archive io.Reader, opt *ImportFileOptions, options ...RequestOptionFunc) (*ImportStatus, *Response, error)
- func (s *ProjectImportExportService) ImportStatus(pid any, options ...RequestOptionFunc) (*ImportStatus, *Response, error)
- func (s *ProjectImportExportService) ScheduleExport(pid any, opt *ScheduleExportOptions, options ...RequestOptionFunc) (*Response, error)
- type ProjectImportExportServiceInterface
- type ProjectIteration
- type ProjectIterationsService
- type ProjectIterationsServiceInterface
- type ProjectLanguages
- type ProjectLicense
- type ProjectLintOptions
- type ProjectLintResult
- type ProjectMarkdownUpload
- type ProjectMarkdownUploadedFile
- type ProjectMarkdownUploadsService
- func (s *ProjectMarkdownUploadsService) DeleteProjectMarkdownUploadByID(pid any, uploadID int64, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectMarkdownUploadsService) DeleteProjectMarkdownUploadBySecretAndFilename(pid any, secret string, filename string, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectMarkdownUploadsService) DownloadProjectMarkdownUploadByID(pid any, uploadID int64, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
- func (s *ProjectMarkdownUploadsService) DownloadProjectMarkdownUploadBySecretAndFilename(pid any, secret string, filename string, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
- func (s *ProjectMarkdownUploadsService) ListProjectMarkdownUploads(pid any, options ...RequestOptionFunc) ([]*ProjectMarkdownUpload, *Response, error)
- func (s *ProjectMarkdownUploadsService) UploadProjectMarkdown(pid any, content io.Reader, filename string, options ...RequestOptionFunc) (*ProjectMarkdownUploadedFile, *Response, error)
- type ProjectMarkdownUploadsServiceInterface
- type ProjectMember
- type ProjectMembersService
- func (s *ProjectMembersService) AddProjectMember(pid any, opt *AddProjectMemberOptions, options ...RequestOptionFunc) (*ProjectMember, *Response, error)
- func (s *ProjectMembersService) DeleteProjectMember(pid any, user int64, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectMembersService) EditProjectMember(pid any, user int64, opt *EditProjectMemberOptions, ...) (*ProjectMember, *Response, error)
- func (s *ProjectMembersService) GetInheritedProjectMember(pid any, user int64, options ...RequestOptionFunc) (*ProjectMember, *Response, error)
- func (s *ProjectMembersService) GetProjectMember(pid any, user int64, options ...RequestOptionFunc) (*ProjectMember, *Response, error)
- func (s *ProjectMembersService) ListAllProjectMembers(pid any, opt *ListProjectMembersOptions, options ...RequestOptionFunc) ([]*ProjectMember, *Response, error)
- func (s *ProjectMembersService) ListProjectMembers(pid any, opt *ListProjectMembersOptions, options ...RequestOptionFunc) ([]*ProjectMember, *Response, error)
- type ProjectMembersServiceInterface
- type ProjectMirror
- type ProjectMirrorPublicKey
- type ProjectMirrorService
- func (s *ProjectMirrorService) AddProjectMirror(pid any, opt *AddProjectMirrorOptions, options ...RequestOptionFunc) (*ProjectMirror, *Response, error)
- func (s *ProjectMirrorService) DeleteProjectMirror(pid any, mirror int64, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectMirrorService) EditProjectMirror(pid any, mirror int64, opt *EditProjectMirrorOptions, ...) (*ProjectMirror, *Response, error)
- func (s *ProjectMirrorService) ForcePushMirrorUpdate(pid any, mirror int64, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectMirrorService) GetProjectMirror(pid any, mirror int64, options ...RequestOptionFunc) (*ProjectMirror, *Response, error)
- func (s *ProjectMirrorService) GetProjectMirrorPublicKey(pid any, mirror int64, options ...RequestOptionFunc) (*ProjectMirrorPublicKey, *Response, error)
- func (s *ProjectMirrorService) ListProjectMirror(pid any, opt *ListProjectMirrorOptions, options ...RequestOptionFunc) ([]*ProjectMirror, *Response, error)
- type ProjectMirrorServiceInterface
- type ProjectNamespace
- type ProjectNamespaceLintOptions
- type ProjectPullMirrorDetails
- type ProjectPushRules
- type ProjectRepositoryStorage
- type ProjectRepositoryStorageMove
- type ProjectRepositoryStorageMoveService
- func (p ProjectRepositoryStorageMoveService) GetStorageMove(repositoryStorage int64, options ...RequestOptionFunc) (*ProjectRepositoryStorageMove, *Response, error)
- func (p ProjectRepositoryStorageMoveService) GetStorageMoveForProject(project int64, repositoryStorage int64, options ...RequestOptionFunc) (*ProjectRepositoryStorageMove, *Response, error)
- func (p ProjectRepositoryStorageMoveService) RetrieveAllStorageMoves(opts RetrieveAllProjectStorageMovesOptions, options ...RequestOptionFunc) ([]*ProjectRepositoryStorageMove, *Response, error)
- func (p ProjectRepositoryStorageMoveService) RetrieveAllStorageMovesForProject(project int64, opts RetrieveAllProjectStorageMovesOptions, ...) ([]*ProjectRepositoryStorageMove, *Response, error)
- func (p ProjectRepositoryStorageMoveService) ScheduleAllStorageMoves(opts ScheduleAllProjectStorageMovesOptions, options ...RequestOptionFunc) (*Response, error)
- func (p ProjectRepositoryStorageMoveService) ScheduleStorageMoveForProject(project int64, opts ScheduleStorageMoveForProjectOptions, ...) (*ProjectRepositoryStorageMove, *Response, error)
- type ProjectRepositoryStorageMoveServiceInterface
- type ProjectResourceAccessTokenEvent
- type ProjectResourceAccessTokenEventObjectAttributes
- type ProjectResourceAccessTokenEventProject
- type ProjectSecuritySettings
- type ProjectSecuritySettingsService
- func (s *ProjectSecuritySettingsService) ListProjectSecuritySettings(pid any, options ...RequestOptionFunc) (*ProjectSecuritySettings, *Response, error)
- func (s *ProjectSecuritySettingsService) UpdateSecretPushProtectionEnabledSetting(pid any, opt UpdateProjectSecuritySettingsOptions, ...) (*ProjectSecuritySettings, *Response, error)
- type ProjectSecuritySettingsServiceInterface
- type ProjectSharedWithGroup
- type ProjectSnippetsService
- func (s *ProjectSnippetsService) CreateSnippet(pid any, opt *CreateProjectSnippetOptions, options ...RequestOptionFunc) (*Snippet, *Response, error)
- func (s *ProjectSnippetsService) DeleteSnippet(pid any, snippet int64, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectSnippetsService) GetSnippet(pid any, snippet int64, options ...RequestOptionFunc) (*Snippet, *Response, error)
- func (s *ProjectSnippetsService) ListSnippets(pid any, opt *ListProjectSnippetsOptions, options ...RequestOptionFunc) ([]*Snippet, *Response, error)
- func (s *ProjectSnippetsService) SnippetContent(pid any, snippet int64, options ...RequestOptionFunc) ([]byte, *Response, error)
- func (s *ProjectSnippetsService) UpdateSnippet(pid any, snippet int64, opt *UpdateProjectSnippetOptions, ...) (*Snippet, *Response, error)
- type ProjectSnippetsServiceInterface
- type ProjectStarrer
- type ProjectStatistics
- type ProjectStatisticsService
- type ProjectStatisticsServiceInterface
- type ProjectStatusCheck
- type ProjectSystemEvent
- type ProjectTemplate
- type ProjectTemplatesService
- func (s *ProjectTemplatesService) GetProjectTemplate(pid any, templateType string, templateName string, ...) (*ProjectTemplate, *Response, error)
- func (s *ProjectTemplatesService) ListTemplates(pid any, templateType string, opt *ListProjectTemplatesOptions, ...) ([]*ProjectTemplate, *Response, error)
- type ProjectTemplatesServiceInterface
- type ProjectUser
- type ProjectVariable
- type ProjectVariablesService
- func (s *ProjectVariablesService) CreateVariable(pid any, opt *CreateProjectVariableOptions, options ...RequestOptionFunc) (*ProjectVariable, *Response, error)
- func (s *ProjectVariablesService) GetVariable(pid any, key string, opt *GetProjectVariableOptions, ...) (*ProjectVariable, *Response, error)
- func (s *ProjectVariablesService) ListVariables(pid any, opt *ListProjectVariablesOptions, options ...RequestOptionFunc) ([]*ProjectVariable, *Response, error)
- func (s *ProjectVariablesService) RemoveVariable(pid any, key string, opt *RemoveProjectVariableOptions, ...) (*Response, error)
- func (s *ProjectVariablesService) UpdateVariable(pid any, key string, opt *UpdateProjectVariableOptions, ...) (*ProjectVariable, *Response, error)
- type ProjectVariablesServiceInterface
- type ProjectVulnerabilitiesService
- func (s *ProjectVulnerabilitiesService) CreateVulnerability(pid any, opt *CreateVulnerabilityOptions, options ...RequestOptionFunc) (*ProjectVulnerability, *Response, error)
- func (s *ProjectVulnerabilitiesService) ListProjectVulnerabilities(pid any, opt *ListProjectVulnerabilitiesOptions, options ...RequestOptionFunc) ([]*ProjectVulnerability, *Response, error)
- type ProjectVulnerabilitiesServiceInterfacedeprecated
- type ProjectVulnerability
- type ProjectWebhookEvent
- type ProjectsService
- func (s *ProjectsService) AddProjectHook(pid any, opt *AddProjectHookOptions, options ...RequestOptionFunc) (*ProjectHook, *Response, error)
- func (s *ProjectsService) AddProjectPushRule(pid any, opt *AddProjectPushRuleOptions, options ...RequestOptionFunc) (*ProjectPushRules, *Response, error)
- func (s *ProjectsService) ArchiveProject(pid any, options ...RequestOptionFunc) (*Project, *Response, error)
- func (s *ProjectsService) ChangeApprovalConfiguration(pid any, opt *ChangeApprovalConfigurationOptions, options ...RequestOptionFunc) (*ProjectApprovals, *Response, error)
- func (s *ProjectsService) ConfigureProjectPullMirror(pid any, opt *ConfigureProjectPullMirrorOptions, options ...RequestOptionFunc) (*ProjectPullMirrorDetails, *Response, error)
- func (s *ProjectsService) CreateProject(opt *CreateProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)
- func (s *ProjectsService) CreateProjectApprovalRule(pid any, opt *CreateProjectLevelRuleOptions, options ...RequestOptionFunc) (*ProjectApprovalRule, *Response, error)
- func (s *ProjectsService) CreateProjectForUser(user int64, opt *CreateProjectForUserOptions, options ...RequestOptionFunc) (*Project, *Response, error)
- func (s *ProjectsService) CreateProjectForkRelation(pid any, fork int64, options ...RequestOptionFunc) (*ProjectForkRelation, *Response, error)
- func (s *ProjectsService) CreateTargetBranchRule(pid int64, opt *CreateTargetBranchRuleOptions, options ...RequestOptionFunc) (*TargetBranchRule, *Response, error)
- func (s *ProjectsService) DeleteProject(pid any, opt *DeleteProjectOptions, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectsService) DeleteProjectApprovalRule(pid any, approvalRule int64, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectsService) DeleteProjectCustomHeader(pid any, hook int64, key string, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectsService) DeleteProjectForkRelation(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectsService) DeleteProjectHook(pid any, hook int64, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectsService) DeleteProjectPushRule(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectsService) DeleteProjectWebhookURLVariable(pid any, hook int64, key string, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectsService) DeleteSharedProjectFromGroup(pid any, groupID int64, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectsService) DeleteTargetBranchRule(id int64, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectsService) DownloadAvatar(pid any, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
- func (s *ProjectsService) EditProject(pid any, opt *EditProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)
- func (s *ProjectsService) EditProjectHook(pid any, hook int64, opt *EditProjectHookOptions, options ...RequestOptionFunc) (*ProjectHook, *Response, error)
- func (s *ProjectsService) EditProjectPushRule(pid any, opt *EditProjectPushRuleOptions, options ...RequestOptionFunc) (*ProjectPushRules, *Response, error)
- func (s *ProjectsService) ForkProject(pid any, opt *ForkProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)
- func (s *ProjectsService) GetApprovalConfiguration(pid any, options ...RequestOptionFunc) (*ProjectApprovals, *Response, error)
- func (s *ProjectsService) GetProject(pid any, opt *GetProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)
- func (s *ProjectsService) GetProjectApprovalRule(pid any, ruleID int64, options ...RequestOptionFunc) (*ProjectApprovalRule, *Response, error)
- func (s *ProjectsService) GetProjectApprovalRules(pid any, opt *GetProjectApprovalRulesListsOptions, ...) ([]*ProjectApprovalRule, *Response, error)
- func (s *ProjectsService) GetProjectHook(pid any, hook int64, options ...RequestOptionFunc) (*ProjectHook, *Response, error)
- func (s *ProjectsService) GetProjectLanguages(pid any, options ...RequestOptionFunc) (*ProjectLanguages, *Response, error)
- func (s *ProjectsService) GetProjectPullMirrorDetails(pid any, options ...RequestOptionFunc) (*ProjectPullMirrorDetails, *Response, error)
- func (s *ProjectsService) GetProjectPushRules(pid any, options ...RequestOptionFunc) (*ProjectPushRules, *Response, error)
- func (s *ProjectsService) GetRepositoryStorage(pid any, options ...RequestOptionFunc) (*ProjectRepositoryStorage, *Response, error)
- func (s *ProjectsService) ListProjectForks(pid any, opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
- func (s *ProjectsService) ListProjectHooks(pid any, opt *ListProjectHooksOptions, options ...RequestOptionFunc) ([]*ProjectHook, *Response, error)
- func (s *ProjectsService) ListProjectStarrers(pid any, opts *ListProjectStarrersOptions, options ...RequestOptionFunc) ([]*ProjectStarrer, *Response, error)
- func (s *ProjectsService) ListProjectTargetBranchRules(projectFullPath string, options ...RequestOptionFunc) ([]TargetBranchRule, *Response, error)
- func (s *ProjectsService) ListProjects(opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
- func (s *ProjectsService) ListProjectsGroups(pid any, opt *ListProjectGroupOptions, options ...RequestOptionFunc) ([]*ProjectGroup, *Response, error)
- func (s *ProjectsService) ListProjectsInvitedGroups(pid any, opt *ListProjectInvitedGroupOptions, options ...RequestOptionFunc) ([]*ProjectGroup, *Response, error)
- func (s *ProjectsService) ListProjectsUsers(pid any, opt *ListProjectUserOptions, options ...RequestOptionFunc) ([]*ProjectUser, *Response, error)
- func (s *ProjectsService) ListUserContributedProjects(uid any, opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
- func (s *ProjectsService) ListUserProjects(uid any, opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
- func (s *ProjectsService) ListUserStarredProjects(uid any, opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
- func (s *ProjectsService) RestoreProject(pid any, options ...RequestOptionFunc) (*Project, *Response, error)
- func (s *ProjectsService) SetProjectCustomHeader(pid any, hook int64, key string, opt *SetHookCustomHeaderOptions, ...) (*Response, error)
- func (s *ProjectsService) SetProjectWebhookURLVariable(pid any, hook int64, key string, opt *SetProjectWebhookURLVariableOptions, ...) (*Response, error)
- func (s *ProjectsService) ShareProjectWithGroup(pid any, opt *ShareWithGroupOptions, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectsService) StarProject(pid any, options ...RequestOptionFunc) (*Project, *Response, error)
- func (s *ProjectsService) StartHousekeepingProject(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectsService) StartMirroringProject(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectsService) TransferProject(pid any, opt *TransferProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)
- func (s *ProjectsService) TriggerTestProjectHook(pid any, hook int64, event ProjectHookEvent, options ...RequestOptionFunc) (*Response, error)
- func (s *ProjectsService) UnarchiveProject(pid any, options ...RequestOptionFunc) (*Project, *Response, error)
- func (s *ProjectsService) UnstarProject(pid any, options ...RequestOptionFunc) (*Project, *Response, error)
- func (s *ProjectsService) UpdateProjectApprovalRule(pid any, approvalRule int64, opt *UpdateProjectLevelRuleOptions, ...) (*ProjectApprovalRule, *Response, error)
- func (s *ProjectsService) UploadAvatar(pid any, avatar io.Reader, filename string, options ...RequestOptionFunc) (*Project, *Response, error)
- type ProjectsServiceInterface
- type ProtectGroupEnvironmentOptions
- type ProtectGroupRepositoryBranchesOptions
- type ProtectRepositoryBranchesOptions
- type ProtectRepositoryEnvironmentsOptions
- type ProtectRepositoryTagsOptions
- type ProtectedBranch
- type ProtectedBranchesService
- func (s *ProtectedBranchesService) GetProtectedBranch(pid any, branch string, options ...RequestOptionFunc) (*ProtectedBranch, *Response, error)
- func (s *ProtectedBranchesService) ListProtectedBranches(pid any, opt *ListProtectedBranchesOptions, options ...RequestOptionFunc) ([]*ProtectedBranch, *Response, error)
- func (s *ProtectedBranchesService) ProtectRepositoryBranches(pid any, opt *ProtectRepositoryBranchesOptions, options ...RequestOptionFunc) (*ProtectedBranch, *Response, error)
- func (s *ProtectedBranchesService) UnprotectRepositoryBranches(pid any, branch string, options ...RequestOptionFunc) (*Response, error)
- func (s *ProtectedBranchesService) UpdateProtectedBranch(pid any, branch string, opt *UpdateProtectedBranchOptions, ...) (*ProtectedBranch, *Response, error)
- type ProtectedBranchesServiceInterface
- type ProtectedEnvironment
- type ProtectedEnvironmentsService
- func (s *ProtectedEnvironmentsService) GetProtectedEnvironment(pid any, environment string, options ...RequestOptionFunc) (*ProtectedEnvironment, *Response, error)
- func (s *ProtectedEnvironmentsService) ListProtectedEnvironments(pid any, opt *ListProtectedEnvironmentsOptions, options ...RequestOptionFunc) ([]*ProtectedEnvironment, *Response, error)
- func (s *ProtectedEnvironmentsService) ProtectRepositoryEnvironments(pid any, opt *ProtectRepositoryEnvironmentsOptions, ...) (*ProtectedEnvironment, *Response, error)
- func (s *ProtectedEnvironmentsService) UnprotectEnvironment(pid any, environment string, options ...RequestOptionFunc) (*Response, error)
- func (s *ProtectedEnvironmentsService) UpdateProtectedEnvironments(pid any, environment string, opt *UpdateProtectedEnvironmentsOptions, ...) (*ProtectedEnvironment, *Response, error)
- type ProtectedEnvironmentsServiceInterface
- type ProtectedPackagesService
- func (s *ProtectedPackagesService) CreatePackageProtectionRules(pid any, opt *CreatePackageProtectionRulesOptions, ...) (*PackageProtectionRule, *Response, error)
- func (s *ProtectedPackagesService) DeletePackageProtectionRules(pid any, packageProtectionRule int64, options ...RequestOptionFunc) (*Response, error)
- func (s *ProtectedPackagesService) ListPackageProtectionRules(pid any, opts *ListPackageProtectionRulesOptions, options ...RequestOptionFunc) ([]*PackageProtectionRule, *Response, error)
- func (s *ProtectedPackagesService) UpdatePackageProtectionRules(pid any, packageProtectionRule int64, opt *UpdatePackageProtectionRulesOptions, ...) (*PackageProtectionRule, *Response, error)
- type ProtectedPackagesServiceInterface
- type ProtectedTag
- type ProtectedTagsService
- func (s *ProtectedTagsService) GetProtectedTag(pid any, tag string, options ...RequestOptionFunc) (*ProtectedTag, *Response, error)
- func (s *ProtectedTagsService) ListProtectedTags(pid any, opt *ListProtectedTagsOptions, options ...RequestOptionFunc) ([]*ProtectedTag, *Response, error)
- func (s *ProtectedTagsService) ProtectRepositoryTags(pid any, opt *ProtectRepositoryTagsOptions, options ...RequestOptionFunc) (*ProtectedTag, *Response, error)
- func (s *ProtectedTagsService) UnprotectRepositoryTags(pid any, tag string, options ...RequestOptionFunc) (*Response, error)
- type ProtectedTagsServiceInterface
- type ProtectionRuleAccessLevel
- type PublishPackageFileOptions
- type PushEvent
- type PushEventCommit
- type PushEventProject
- type PushSystemEvent
- type PushSystemEventCommit
- type PushSystemEventCommitAuthor
- type PushSystemEventProject
- type QueueMetrics
- type QueueMetricsQueue
- type RateLimiter
- type RebaseMergeRequestOptions
- type RecentFailures
- type RedmineService
- type RedmineServiceProperties
- type RegisterAgentOptions
- type RegisterNewRunnerInfoOptions
- type RegisterNewRunnerOptions
- type RegistryRepository
- type RegistryRepositoryTag
- type Release
- type ReleaseAssetLinkOptions
- type ReleaseAssets
- type ReleaseAssetsOptions
- type ReleaseAssetsSource
- type ReleaseEvent
- type ReleaseEventAssets
- type ReleaseEventAssetsLink
- type ReleaseEventAssetsSource
- type ReleaseEventCommit
- type ReleaseEventProject
- type ReleaseEvidence
- type ReleaseLink
- type ReleaseLinks
- type ReleaseLinksService
- func (s *ReleaseLinksService) CreateReleaseLink(pid any, tagName string, opt *CreateReleaseLinkOptions, ...) (*ReleaseLink, *Response, error)
- func (s *ReleaseLinksService) DeleteReleaseLink(pid any, tagName string, link int64, options ...RequestOptionFunc) (*ReleaseLink, *Response, error)
- func (s *ReleaseLinksService) GetReleaseLink(pid any, tagName string, link int64, options ...RequestOptionFunc) (*ReleaseLink, *Response, error)
- func (s *ReleaseLinksService) ListReleaseLinks(pid any, tagName string, opt *ListReleaseLinksOptions, ...) ([]*ReleaseLink, *Response, error)
- func (s *ReleaseLinksService) UpdateReleaseLink(pid any, tagName string, link int64, opt *UpdateReleaseLinkOptions, ...) (*ReleaseLink, *Response, error)
- type ReleaseLinksServiceInterface
- type ReleaseMilestone
- type ReleaseMilestoneIssueStats
- type ReleaseNote
- type ReleasesService
- func (s *ReleasesService) CreateRelease(pid any, opts *CreateReleaseOptions, options ...RequestOptionFunc) (*Release, *Response, error)
- func (s *ReleasesService) DeleteRelease(pid any, tagName string, options ...RequestOptionFunc) (*Release, *Response, error)
- func (s *ReleasesService) GetLatestRelease(pid any, options ...RequestOptionFunc) (*Release, *Response, error)
- func (s *ReleasesService) GetRelease(pid any, tagName string, options ...RequestOptionFunc) (*Release, *Response, error)
- func (s *ReleasesService) ListReleases(pid any, opt *ListReleasesOptions, options ...RequestOptionFunc) ([]*Release, *Response, error)
- func (s *ReleasesService) UpdateRelease(pid any, tagName string, opts *UpdateReleaseOptions, ...) (*Release, *Response, error)
- type ReleasesServiceInterface
- type RemoveGroupMemberOptions
- type RemoveGroupVariableOptions
- type RemoveProjectVariableOptions
- type RenderOptions
- type ReorderIssueOptions
- type RepositoriesService
- func (s *RepositoriesService) AddChangelog(pid any, opt *AddChangelogOptions, options ...RequestOptionFunc) (*Response, error)
- func (s *RepositoriesService) Archive(pid any, opt *ArchiveOptions, options ...RequestOptionFunc) ([]byte, *Response, error)
- func (s *RepositoriesService) Blob(pid any, sha string, options ...RequestOptionFunc) ([]byte, *Response, error)
- func (s *RepositoriesService) Compare(pid any, opt *CompareOptions, options ...RequestOptionFunc) (*Compare, *Response, error)
- func (s *RepositoriesService) Contributors(pid any, opt *ListContributorsOptions, options ...RequestOptionFunc) ([]*Contributor, *Response, error)
- func (s *RepositoriesService) GenerateChangelogData(pid any, opt GenerateChangelogDataOptions, options ...RequestOptionFunc) (*ChangelogData, *Response, error)
- func (s *RepositoriesService) ListTree(pid any, opt *ListTreeOptions, options ...RequestOptionFunc) ([]*TreeNode, *Response, error)
- func (s *RepositoriesService) MergeBase(pid any, opt *MergeBaseOptions, options ...RequestOptionFunc) (*Commit, *Response, error)
- func (s *RepositoriesService) RawBlobContent(pid any, sha string, options ...RequestOptionFunc) ([]byte, *Response, error)
- func (s *RepositoriesService) StreamArchive(pid any, w io.Writer, opt *ArchiveOptions, options ...RequestOptionFunc) (*Response, error)
- type RepositoriesServiceInterface
- type Repository
- type RepositoryFilesService
- func (s *RepositoryFilesService) CreateFile(pid any, fileName string, opt *CreateFileOptions, options ...RequestOptionFunc) (*FileInfo, *Response, error)
- func (s *RepositoryFilesService) DeleteFile(pid any, fileName string, opt *DeleteFileOptions, options ...RequestOptionFunc) (*Response, error)
- func (s *RepositoryFilesService) GetFile(pid any, fileName string, opt *GetFileOptions, options ...RequestOptionFunc) (*File, *Response, error)
- func (s *RepositoryFilesService) GetFileBlame(pid any, file string, opt *GetFileBlameOptions, options ...RequestOptionFunc) ([]*FileBlameRange, *Response, error)
- func (s *RepositoryFilesService) GetFileMetaData(pid any, fileName string, opt *GetFileMetaDataOptions, ...) (*File, *Response, error)
- func (s *RepositoryFilesService) GetRawFile(pid any, fileName string, opt *GetRawFileOptions, options ...RequestOptionFunc) ([]byte, *Response, error)
- func (s *RepositoryFilesService) GetRawFileMetaData(pid any, fileName string, opt *GetRawFileOptions, options ...RequestOptionFunc) (*File, *Response, error)
- func (s *RepositoryFilesService) UpdateFile(pid any, fileName string, opt *UpdateFileOptions, options ...RequestOptionFunc) (*FileInfo, *Response, error)
- type RepositoryFilesServiceInterface
- type RepositoryGroup
- type RepositoryProject
- type RepositorySnippet
- type RepositorySubmodulesService
- type RepositorySubmodulesServiceInterface
- type RepositoryUpdateSystemEvent
- type RepositoryUpdateSystemEventChange
- type RepositoryUpdateSystemEventProject
- type RequestLevelAuthStrategy
- 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 WithNext(resp *Response) (RequestOptionFunc, bool)
- func WithOffsetPaginationParameters(page int64) RequestOptionFunc
- func WithRequestRetry(checkRetry retryablehttp.CheckRetry) RequestOptionFunc
- func WithSudo(uid any) RequestOptionFunc
- func WithToken(authType AuthType, token string) RequestOptionFunc
- type ResolveMergeRequestDiscussionOptions
- type ResourceGroup
- type ResourceGroupProcessMode
- type ResourceGroupService
- func (s *ResourceGroupService) EditAnExistingResourceGroup(pid any, key string, opts *EditAnExistingResourceGroupOptions, ...) (*ResourceGroup, *Response, error)
- func (s *ResourceGroupService) GetASpecificResourceGroup(pid any, key string, options ...RequestOptionFunc) (*ResourceGroup, *Response, error)
- func (s *ResourceGroupService) GetAllResourceGroupsForAProject(pid any, options ...RequestOptionFunc) ([]*ResourceGroup, *Response, error)
- func (s *ResourceGroupService) ListUpcomingJobsForASpecificResourceGroup(pid any, key string, options ...RequestOptionFunc) ([]*Job, *Response, error)
- type ResourceGroupServiceInterface
- type ResourceIterationEventsService
- func (s *ResourceIterationEventsService) GetIssueIterationEvent(pid any, issue int64, event int64, options ...RequestOptionFunc) (*IterationEvent, *Response, error)
- func (s *ResourceIterationEventsService) ListIssueIterationEvents(pid any, issue int64, opt *ListIterationEventsOptions, ...) ([]*IterationEvent, *Response, error)
- type ResourceIterationEventsServiceInterface
- type ResourceLabelEventsService
- func (s *ResourceLabelEventsService) GetGroupEpicLabelEvent(gid any, epic int64, event int64, options ...RequestOptionFunc) (*LabelEvent, *Response, error)
- func (s *ResourceLabelEventsService) GetIssueLabelEvent(pid any, issue int64, event int64, options ...RequestOptionFunc) (*LabelEvent, *Response, error)
- func (s *ResourceLabelEventsService) GetMergeRequestLabelEvent(pid any, request int64, event int64, options ...RequestOptionFunc) (*LabelEvent, *Response, error)
- func (s *ResourceLabelEventsService) ListGroupEpicLabelEvents(gid any, epic int64, opt *ListLabelEventsOptions, options ...RequestOptionFunc) ([]*LabelEvent, *Response, error)
- func (s *ResourceLabelEventsService) ListIssueLabelEvents(pid any, issue int64, opt *ListLabelEventsOptions, ...) ([]*LabelEvent, *Response, error)
- func (s *ResourceLabelEventsService) ListMergeRequestsLabelEvents(pid any, request int64, opt *ListLabelEventsOptions, ...) ([]*LabelEvent, *Response, error)
- type ResourceLabelEventsServiceInterface
- type ResourceMilestoneEventsService
- func (s *ResourceMilestoneEventsService) GetIssueMilestoneEvent(pid any, issue int64, event int64, options ...RequestOptionFunc) (*MilestoneEvent, *Response, error)
- func (s *ResourceMilestoneEventsService) GetMergeRequestMilestoneEvent(pid any, request int64, event int64, options ...RequestOptionFunc) (*MilestoneEvent, *Response, error)
- func (s *ResourceMilestoneEventsService) ListIssueMilestoneEvents(pid any, issue int64, opt *ListMilestoneEventsOptions, ...) ([]*MilestoneEvent, *Response, error)
- func (s *ResourceMilestoneEventsService) ListMergeMilestoneEvents(pid any, request int64, opt *ListMilestoneEventsOptions, ...) ([]*MilestoneEvent, *Response, error)
- type ResourceMilestoneEventsServiceInterface
- type ResourceStateEventsService
- func (s *ResourceStateEventsService) GetIssueStateEvent(pid any, issue int64, event int64, options ...RequestOptionFunc) (*StateEvent, *Response, error)
- func (s *ResourceStateEventsService) GetMergeRequestStateEvent(pid any, request int64, event int64, options ...RequestOptionFunc) (*StateEvent, *Response, error)
- func (s *ResourceStateEventsService) ListIssueStateEvents(pid any, issue int64, opt *ListStateEventsOptions, ...) ([]*StateEvent, *Response, error)
- func (s *ResourceStateEventsService) ListMergeStateEvents(pid any, request int64, opt *ListStateEventsOptions, ...) ([]*StateEvent, *Response, error)
- type ResourceStateEventsServiceInterface
- type ResourceType
- type ResourceWeightEventsService
- type ResourceWeightEventsServiceInterface
- type Response
- type RetrieveAllGroupStorageMovesOptions
- type RetrieveAllProjectStorageMovesOptions
- type RetrieveAllSnippetStorageMovesOptions
- type RetryFailedExternalStatusCheckForProjectMergeRequestOptions
- type RevertCommitOptions
- type ReviewerIDValue
- type RotateGroupAccessTokenOptions
- type RotatePersonalAccessTokenOptions
- type RotateProjectAccessTokenOptions
- type RotateServiceAccountPersonalAccessTokenOptions
- type RunPipelineTriggerOptions
- type Runner
- type RunnerAuthenticationToken
- type RunnerController
- type RunnerControllerDetails
- type RunnerControllerInstanceLevelScoping
- type RunnerControllerRunnerLevelScoping
- type RunnerControllerScopes
- type RunnerControllerScopesService
- func (s *RunnerControllerScopesService) AddRunnerControllerInstanceScope(rid int64, options ...RequestOptionFunc) (*RunnerControllerInstanceLevelScoping, *Response, error)
- func (s *RunnerControllerScopesService) AddRunnerControllerRunnerScope(rid, runnerID int64, options ...RequestOptionFunc) (*RunnerControllerRunnerLevelScoping, *Response, error)
- func (s *RunnerControllerScopesService) ListRunnerControllerScopes(rid int64, options ...RequestOptionFunc) (*RunnerControllerScopes, *Response, error)
- func (s *RunnerControllerScopesService) RemoveRunnerControllerInstanceScope(rid int64, options ...RequestOptionFunc) (*Response, error)
- func (s *RunnerControllerScopesService) RemoveRunnerControllerRunnerScope(rid, runnerID int64, options ...RequestOptionFunc) (*Response, error)
- type RunnerControllerScopesServiceInterface
- type RunnerControllerStateValue
- type RunnerControllerToken
- type RunnerControllerTokensService
- func (s *RunnerControllerTokensService) CreateRunnerControllerToken(rid int64, opt *CreateRunnerControllerTokenOptions, ...) (*RunnerControllerToken, *Response, error)
- func (s *RunnerControllerTokensService) GetRunnerControllerToken(rid int64, tokenID int64, options ...RequestOptionFunc) (*RunnerControllerToken, *Response, error)
- func (s *RunnerControllerTokensService) ListRunnerControllerTokens(rid int64, opt *ListRunnerControllerTokensOptions, ...) ([]*RunnerControllerToken, *Response, error)
- func (s *RunnerControllerTokensService) RevokeRunnerControllerToken(rid int64, tokenID int64, options ...RequestOptionFunc) (*Response, error)
- func (s *RunnerControllerTokensService) RotateRunnerControllerToken(rid int64, tokenID int64, options ...RequestOptionFunc) (*RunnerControllerToken, *Response, error)
- type RunnerControllerTokensServiceInterface
- type RunnerControllersService
- func (s *RunnerControllersService) CreateRunnerController(opt *CreateRunnerControllerOptions, options ...RequestOptionFunc) (*RunnerController, *Response, error)
- func (s *RunnerControllersService) DeleteRunnerController(rid int64, options ...RequestOptionFunc) (*Response, error)
- func (s *RunnerControllersService) GetRunnerController(rid int64, options ...RequestOptionFunc) (*RunnerControllerDetails, *Response, error)
- func (s *RunnerControllersService) ListRunnerControllers(opt *ListRunnerControllersOptions, options ...RequestOptionFunc) ([]*RunnerController, *Response, error)
- func (s *RunnerControllersService) UpdateRunnerController(rid int64, opt *UpdateRunnerControllerOptions, options ...RequestOptionFunc) (*RunnerController, *Response, error)
- type RunnerControllersServiceInterface
- type RunnerDetails
- type RunnerDetailsGroup
- type RunnerDetailsProject
- type RunnerID
- type RunnerManager
- type RunnerRegistrationToken
- type RunnersService
- func (s *RunnersService) DeleteRegisteredRunner(opt *DeleteRegisteredRunnerOptions, options ...RequestOptionFunc) (*Response, error)
- func (s *RunnersService) DeleteRegisteredRunnerByID(rid int64, options ...RequestOptionFunc) (*Response, error)
- func (s *RunnersService) DisableProjectRunner(pid any, runner int64, options ...RequestOptionFunc) (*Response, error)
- func (s *RunnersService) EnableProjectRunner(pid any, opt *EnableProjectRunnerOptions, options ...RequestOptionFunc) (*Runner, *Response, error)
- func (s *RunnersService) GetRunnerDetails(rid any, options ...RequestOptionFunc) (*RunnerDetails, *Response, error)
- func (s *RunnersService) ListAllRunners(opt *ListRunnersOptions, options ...RequestOptionFunc) ([]*Runner, *Response, error)
- func (s *RunnersService) ListGroupsRunners(gid any, opt *ListGroupsRunnersOptions, options ...RequestOptionFunc) ([]*Runner, *Response, error)
- func (s *RunnersService) ListProjectRunners(pid any, opt *ListProjectRunnersOptions, options ...RequestOptionFunc) ([]*Runner, *Response, error)
- func (s *RunnersService) ListRunnerJobs(rid any, opt *ListRunnerJobsOptions, options ...RequestOptionFunc) ([]*Job, *Response, error)
- func (s *RunnersService) ListRunnerManagers(rid any, options ...RequestOptionFunc) ([]*RunnerManager, *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 any, options ...RequestOptionFunc) (*Response, error)
- func (s *RunnersService) ResetGroupRunnerRegistrationToken(gid any, options ...RequestOptionFunc) (*RunnerRegistrationToken, *Response, error)
- func (s *RunnersService) ResetInstanceRunnerRegistrationToken(options ...RequestOptionFunc) (*RunnerRegistrationToken, *Response, error)
- func (s *RunnersService) ResetProjectRunnerRegistrationToken(pid any, options ...RequestOptionFunc) (*RunnerRegistrationToken, *Response, error)
- func (s *RunnersService) ResetRunnerAuthenticationToken(rid int64, options ...RequestOptionFunc) (*RunnerAuthenticationToken, *Response, error)
- func (s *RunnersService) UpdateRunnerDetails(rid any, opt *UpdateRunnerDetailsOptions, options ...RequestOptionFunc) (*RunnerDetails, *Response, error)
- func (s *RunnersService) VerifyRegisteredRunner(opt *VerifyRegisteredRunnerOptions, options ...RequestOptionFunc) (*Response, error)
- type RunnersServiceInterface
- type SAMLGroupLink
- type SSHKey
- type ScheduleAllGroupStorageMovesOptions
- type ScheduleAllProjectStorageMovesOptions
- type ScheduleAllSnippetStorageMovesOptions
- type ScheduleExportOptions
- type ScheduleExportUploadOptions
- 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 any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Blob, *Response, error)
- func (s *SearchService) BlobsByProject(pid any, 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 any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)
- func (s *SearchService) CommitsByProject(pid any, 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 any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
- func (s *SearchService) IssuesByProject(pid any, 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 any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)
- func (s *SearchService) MergeRequestsByProject(pid any, 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 any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Milestone, *Response, error)
- func (s *SearchService) MilestonesByProject(pid any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Milestone, *Response, error)
- func (s *SearchService) NotesByProject(pid any, 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 any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Project, *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 any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*User, *Response, error)
- func (s *SearchService) UsersByProject(pid any, 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 any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Wiki, *Response, error)
- func (s *SearchService) WikiBlobsByProject(pid any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Wiki, *Response, error)
- type SearchServiceInterface
- type SecureFile
- type SecureFileIssuer
- type SecureFileMetadata
- type SecureFileSubject
- type SecureFilesService
- func (s SecureFilesService) CreateSecureFile(pid any, content io.Reader, opt *CreateSecureFileOptions, ...) (*SecureFile, *Response, error)
- func (s SecureFilesService) DownloadSecureFile(pid any, id int64, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
- func (s SecureFilesService) ListProjectSecureFiles(pid any, opt *ListProjectSecureFilesOptions, options ...RequestOptionFunc) ([]*SecureFile, *Response, error)
- func (s SecureFilesService) RemoveSecureFile(pid any, id int64, options ...RequestOptionFunc) (*Response, error)
- func (s SecureFilesService) ShowSecureFileDetails(pid any, id int64, options ...RequestOptionFunc) (*SecureFile, *Response, error)
- type SecureFilesServiceInterface
- type Service
- type ServiceAccount
- type ServicePingData
- type ServicePingNonSQLMetrics
- type ServicePingQueries
- type ServicesService
- func (s *ServicesService) DeleteCustomIssueTrackerService(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) DeleteDataDogService(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) DeleteDiscordService(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) DeleteDroneCIService(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) DeleteEmailsOnPushService(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) DeleteExternalWikiService(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) DeleteGithubService(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) DeleteHarborService(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) DeleteJenkinsCIService(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) DeleteJiraService(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) DeleteMatrixService(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) DeleteMattermostService(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) DeleteMattermostSlashCommandsService(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) DeleteMicrosoftTeamsService(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) DeletePipelinesEmailService(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) DeleteRedmineService(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) DeleteSlackService(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) DeleteSlackSlashCommandsService(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) DeleteTelegramService(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) DeleteYouTrackService(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) DisableSlackApplication(pid any, options ...RequestOptionFunc) (*Response, error)
- func (s *ServicesService) GetCustomIssueTrackerService(pid any, options ...RequestOptionFunc) (*CustomIssueTrackerService, *Response, error)
- func (s *ServicesService) GetDataDogService(pid any, options ...RequestOptionFunc) (*DataDogService, *Response, error)
- func (s *ServicesService) GetDiscordService(pid any, options ...RequestOptionFunc) (*DiscordService, *Response, error)
- func (s *ServicesService) GetDroneCIService(pid any, options ...RequestOptionFunc) (*DroneCIService, *Response, error)
- func (s *ServicesService) GetEmailsOnPushService(pid any, options ...RequestOptionFunc) (*EmailsOnPushService, *Response, error)
- func (s *ServicesService) GetExternalWikiService(pid any, options ...RequestOptionFunc) (*ExternalWikiService, *Response, error)
- func (s *ServicesService) GetGithubService(pid any, options ...RequestOptionFunc) (*GithubService, *Response, error)
- func (s *ServicesService) GetHarborService(pid any, options ...RequestOptionFunc) (*HarborService, *Response, error)
- func (s *ServicesService) GetJenkinsCIService(pid any, options ...RequestOptionFunc) (*JenkinsCIService, *Response, error)
- func (s *ServicesService) GetJiraService(pid any, options ...RequestOptionFunc) (*JiraService, *Response, error)
- func (s *ServicesService) GetMatrixService(pid any, options ...RequestOptionFunc) (*MatrixService, *Response, error)
- func (s *ServicesService) GetMattermostService(pid any, options ...RequestOptionFunc) (*MattermostService, *Response, error)
- func (s *ServicesService) GetMattermostSlashCommandsService(pid any, options ...RequestOptionFunc) (*MattermostSlashCommandsService, *Response, error)
- func (s *ServicesService) GetMicrosoftTeamsService(pid any, options ...RequestOptionFunc) (*MicrosoftTeamsService, *Response, error)
- func (s *ServicesService) GetPipelinesEmailService(pid any, options ...RequestOptionFunc) (*PipelinesEmailService, *Response, error)
- func (s *ServicesService) GetRedmineService(pid any, options ...RequestOptionFunc) (*RedmineService, *Response, error)
- func (s *ServicesService) GetSlackApplication(pid any, options ...RequestOptionFunc) (*SlackApplication, *Response, error)
- func (s *ServicesService) GetSlackService(pid any, options ...RequestOptionFunc) (*SlackService, *Response, error)
- func (s *ServicesService) GetSlackSlashCommandsService(pid any, options ...RequestOptionFunc) (*SlackSlashCommandsService, *Response, error)
- func (s *ServicesService) GetTelegramService(pid any, options ...RequestOptionFunc) (*TelegramService, *Response, error)
- func (s *ServicesService) GetYouTrackService(pid any, options ...RequestOptionFunc) (*YouTrackService, *Response, error)
- func (s *ServicesService) ListServices(pid any, options ...RequestOptionFunc) ([]*Service, *Response, error)
- func (s *ServicesService) SetCustomIssueTrackerService(pid any, opt *SetCustomIssueTrackerServiceOptions, ...) (*CustomIssueTrackerService, *Response, error)
- func (s *ServicesService) SetDataDogService(pid any, opt *SetDataDogServiceOptions, options ...RequestOptionFunc) (*DataDogService, *Response, error)
- func (s *ServicesService) SetDiscordService(pid any, opt *SetDiscordServiceOptions, options ...RequestOptionFunc) (*DiscordService, *Response, error)
- func (s *ServicesService) SetDroneCIService(pid any, opt *SetDroneCIServiceOptions, options ...RequestOptionFunc) (*DroneCIService, *Response, error)
- func (s *ServicesService) SetEmailsOnPushService(pid any, opt *SetEmailsOnPushServiceOptions, options ...RequestOptionFunc) (*EmailsOnPushService, *Response, error)
- func (s *ServicesService) SetExternalWikiService(pid any, opt *SetExternalWikiServiceOptions, options ...RequestOptionFunc) (*ExternalWikiService, *Response, error)
- func (s *ServicesService) SetGithubService(pid any, opt *SetGithubServiceOptions, options ...RequestOptionFunc) (*GithubService, *Response, error)
- func (s *ServicesService) SetHarborService(pid any, opt *SetHarborServiceOptions, options ...RequestOptionFunc) (*HarborService, *Response, error)
- func (s *ServicesService) SetJenkinsCIService(pid any, opt *SetJenkinsCIServiceOptions, options ...RequestOptionFunc) (*JenkinsCIService, *Response, error)
- func (s *ServicesService) SetJiraService(pid any, opt *SetJiraServiceOptions, options ...RequestOptionFunc) (*JiraService, *Response, error)
- func (s *ServicesService) SetMatrixService(pid any, opt *SetMatrixServiceOptions, options ...RequestOptionFunc) (*MatrixService, *Response, error)
- func (s *ServicesService) SetMattermostService(pid any, opt *SetMattermostServiceOptions, options ...RequestOptionFunc) (*MattermostService, *Response, error)
- func (s *ServicesService) SetMattermostSlashCommandsService(pid any, opt *SetMattermostSlashCommandsServiceOptions, ...) (*MattermostSlashCommandsService, *Response, error)
- func (s *ServicesService) SetMicrosoftTeamsService(pid any, opt *SetMicrosoftTeamsServiceOptions, options ...RequestOptionFunc) (*MicrosoftTeamsService, *Response, error)
- func (s *ServicesService) SetPipelinesEmailService(pid any, opt *SetPipelinesEmailServiceOptions, options ...RequestOptionFunc) (*PipelinesEmailService, *Response, error)
- func (s *ServicesService) SetRedmineService(pid any, opt *SetRedmineServiceOptions, options ...RequestOptionFunc) (*RedmineService, *Response, error)
- func (s *ServicesService) SetSlackApplication(pid any, opt *SetSlackApplicationOptions, options ...RequestOptionFunc) (*SlackApplication, *Response, error)
- func (s *ServicesService) SetSlackService(pid any, opt *SetSlackServiceOptions, options ...RequestOptionFunc) (*SlackService, *Response, error)
- func (s *ServicesService) SetSlackSlashCommandsService(pid any, opt *SetSlackSlashCommandsServiceOptions, ...) (*SlackSlashCommandsService, *Response, error)
- func (s *ServicesService) SetTelegramService(pid any, opt *SetTelegramServiceOptions, options ...RequestOptionFunc) (*TelegramService, *Response, error)
- func (s *ServicesService) SetYouTrackService(pid any, opt *SetYouTrackServiceOptions, options ...RequestOptionFunc) (*YouTrackService, *Response, error)
- type ServicesServiceInterface
- type SetCommitStatusOptions
- type SetCustomIssueTrackerServiceOptions
- type SetDataDogServiceOptions
- type SetDiscordServiceOptions
- type SetDroneCIServiceOptions
- type SetEmailsOnPushServiceOptions
- type SetExternalStatusCheckStatusOptions
- type SetExternalWikiServiceOptions
- type SetFeatureFlagOptions
- type SetGithubServiceOptions
- type SetGroupSlackOptions
- type SetGroupWebexTeamsOptions
- type SetHarborServiceOptions
- type SetHookCustomHeaderOptions
- type SetHookURLVariableOptions
- type SetJenkinsCIServiceOptions
- type SetJiraServiceOptions
- type SetMatrixServiceOptions
- type SetMattermostServiceOptions
- type SetMattermostSlashCommandsServiceOptions
- type SetMicrosoftTeamsNotificationsOptions
- type SetMicrosoftTeamsServiceOptions
- type SetPipelinesEmailServiceOptions
- type SetProjectGoogleChatOptions
- type SetProjectMergeRequestExternalStatusCheckStatusOptions
- type SetProjectWebhookURLVariableOptions
- type SetRedmineServiceOptions
- type SetSlackApplicationOptions
- type SetSlackServiceOptions
- type SetSlackSlashCommandsServiceOptions
- type SetTelegramServiceOptions
- type SetTimeEstimateOptions
- type SetUpHarborOptions
- type SetUpJiraOptions
- type SetYouTrackServiceOptions
- type Settings
- type SettingsService
- type SettingsServiceInterface
- type ShareGroupWithGroupOptions
- type ShareWithGroupOptions
- type SharedRunnersSettingValue
- type SharedWithGroup
- type ShowMergeRequestRawDiffsOptions
- 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 SidekiqServiceInterface
- type SlackApplication
- type SlackApplicationProperties
- type SlackIntegration
- type SlackIntegrationProperties
- type SlackService
- type SlackServiceProperties
- type SlackSlashCommandsProperties
- type SlackSlashCommandsService
- type Snippet
- type SnippetAuthor
- type SnippetCommentEvent
- type SnippetCommentEventObjectAttributes
- type SnippetCommentEventProject
- type SnippetCommentEventSnippet
- type SnippetFile
- type SnippetRepositoryStorageMove
- type SnippetRepositoryStorageMoveService
- func (s SnippetRepositoryStorageMoveService) GetStorageMove(repositoryStorage int64, options ...RequestOptionFunc) (*SnippetRepositoryStorageMove, *Response, error)
- func (s SnippetRepositoryStorageMoveService) GetStorageMoveForSnippet(snippet int64, repositoryStorage int64, options ...RequestOptionFunc) (*SnippetRepositoryStorageMove, *Response, error)
- func (s SnippetRepositoryStorageMoveService) RetrieveAllStorageMoves(opts RetrieveAllSnippetStorageMovesOptions, options ...RequestOptionFunc) ([]*SnippetRepositoryStorageMove, *Response, error)
- func (s SnippetRepositoryStorageMoveService) RetrieveAllStorageMovesForSnippet(snippet int64, opts RetrieveAllSnippetStorageMovesOptions, ...) ([]*SnippetRepositoryStorageMove, *Response, error)
- func (s SnippetRepositoryStorageMoveService) ScheduleAllStorageMoves(opts ScheduleAllSnippetStorageMovesOptions, options ...RequestOptionFunc) (*Response, error)
- func (s SnippetRepositoryStorageMoveService) ScheduleStorageMoveForSnippet(snippet int64, opts ScheduleStorageMoveForSnippetOptions, ...) (*SnippetRepositoryStorageMove, *Response, error)
- type SnippetRepositoryStorageMoveServiceInterface
- type SnippetsService
- func (s *SnippetsService) CreateSnippet(opt *CreateSnippetOptions, options ...RequestOptionFunc) (*Snippet, *Response, error)
- func (s *SnippetsService) DeleteSnippet(snippet int64, options ...RequestOptionFunc) (*Response, error)
- func (s *SnippetsService) ExploreSnippets(opt *ExploreSnippetsOptions, options ...RequestOptionFunc) ([]*Snippet, *Response, error)
- func (s *SnippetsService) GetSnippet(snippet int64, 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 int64, options ...RequestOptionFunc) ([]byte, *Response, error)
- func (s *SnippetsService) SnippetFileContent(snippet int64, ref, filename string, options ...RequestOptionFunc) ([]byte, *Response, error)
- func (s *SnippetsService) UpdateSnippet(snippet int64, opt *UpdateSnippetOptions, options ...RequestOptionFunc) (*Snippet, *Response, error)
- type SnippetsServiceInterface
- type SquashOptionValue
- type StateEvent
- type StateID
- type Statistics
- type StatusCheckProtectedBranch
- type StopEnvironmentOptions
- type SubGroupCreationLevelValue
- type SubGroupEvent
- type SubmoduleCommit
- type SystemHooksService
- func (s *SystemHooksService) AddHook(opt *AddHookOptions, options ...RequestOptionFunc) (*Hook, *Response, error)
- func (s *SystemHooksService) DeleteHook(hook int64, options ...RequestOptionFunc) (*Response, error)
- func (s *SystemHooksService) GetHook(hook int64, options ...RequestOptionFunc) (*Hook, *Response, error)
- func (s *SystemHooksService) ListHooks(options ...RequestOptionFunc) ([]*Hook, *Response, error)
- func (s *SystemHooksService) TestHook(hook int64, options ...RequestOptionFunc) (*HookEvent, *Response, error)
- type SystemHooksServiceInterface
- type Tag
- type TagAccessDescription
- type TagEvent
- type TagEventCommit
- type TagEventProject
- type TagPushSystemEvent
- type TagPushSystemEventCommit
- type TagPushSystemEventCommitAuthor
- type TagPushSystemEventProject
- type TagsPermissionOptions
- type TagsService
- func (s *TagsService) CreateTag(pid any, opt *CreateTagOptions, options ...RequestOptionFunc) (*Tag, *Response, error)
- func (s *TagsService) DeleteTag(pid any, tag string, options ...RequestOptionFunc) (*Response, error)
- func (s *TagsService) GetTag(pid any, tag string, options ...RequestOptionFunc) (*Tag, *Response, error)
- func (s *TagsService) GetTagSignature(pid any, tag string, options ...RequestOptionFunc) (*X509Signature, *Response, error)
- func (s *TagsService) ListTags(pid any, opt *ListTagsOptions, options ...RequestOptionFunc) ([]*Tag, *Response, error)
- type TagsServiceInterface
- type TargetBranchRule
- type TasksCompletionStatus
- type TelegramIntegration
- type TelegramIntegrationProperties
- type TelegramService
- type TelegramServiceProperties
- type TerraformState
- type TerraformStateVersion
- type TerraformStatesService
- func (s *TerraformStatesService) Delete(pid any, name string, options ...RequestOptionFunc) (*Response, error)
- func (s *TerraformStatesService) DeleteVersion(pid any, name string, serial uint64, options ...RequestOptionFunc) (*Response, error)
- func (s *TerraformStatesService) Download(pid any, name string, serial uint64, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
- func (s *TerraformStatesService) DownloadLatest(pid any, name string, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
- func (s *TerraformStatesService) Get(projectFullPath string, name string, options ...RequestOptionFunc) (*TerraformState, *Response, error)
- func (s *TerraformStatesService) List(projectFullPath string, options ...RequestOptionFunc) ([]TerraformState, *Response, error)
- func (s *TerraformStatesService) Lock(pid any, name string, options ...RequestOptionFunc) (*Response, error)
- func (s *TerraformStatesService) Unlock(pid any, name string, options ...RequestOptionFunc) (*Response, error)
- type TerraformStatesServiceInterface
- type TimeStats
- type Todo
- 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 int64, options ...RequestOptionFunc) (*Response, error)
- type TodosServiceInterface
- type Topic
- type TopicAvatar
- type TopicsService
- func (s *TopicsService) CreateTopic(opt *CreateTopicOptions, options ...RequestOptionFunc) (*Topic, *Response, error)
- func (s *TopicsService) DeleteTopic(topic int64, options ...RequestOptionFunc) (*Response, error)
- func (s *TopicsService) GetTopic(topic int64, options ...RequestOptionFunc) (*Topic, *Response, error)
- func (s *TopicsService) ListTopics(opt *ListTopicsOptions, options ...RequestOptionFunc) ([]*Topic, *Response, error)
- func (s *TopicsService) UpdateTopic(topic int64, opt *UpdateTopicOptions, options ...RequestOptionFunc) (*Topic, *Response, error)
- type TopicsServiceInterface
- type TrackEventOptions
- type TrackEventsOptions
- type TransferProjectOptions
- type TransferSubGroupOptions
- type TreeNode
- type URLValidationError
- type Unauthenticated
- type UpdateAdminCompliancePolicySettingsOptions
- type UpdateBroadcastMessageOptions
- type UpdateCommitDiscussionNoteOptions
- type UpdateContainerRegistryProtectionRuleOptions
- type UpdateDeployKeyOptions
- type UpdateDraftNoteOptions
- type UpdateEnvironmentAccessOptions
- type UpdateEnvironmentApprovalRuleOptions
- type UpdateEpicDiscussionNoteOptions
- type UpdateEpicIssueAssignmentOptions
- type UpdateEpicNoteOptions
- type UpdateEpicOptions
- type UpdateExternalStatusCheckOptions
- type UpdateFeatureFlagUserListOptions
- type UpdateFileOptions
- type UpdateFreezePeriodOptions
- type UpdateGeoNodesOptions
- type UpdateGroupEnvironmentAccessOptions
- type UpdateGroupEnvironmentApprovalRuleOptions
- type UpdateGroupIssueBoardListOptions
- type UpdateGroupIssueBoardOptions
- type UpdateGroupLabelOptions
- type UpdateGroupMergeRequestApprovalSettingsOptions
- type UpdateGroupMilestoneOptions
- type UpdateGroupOptions
- type UpdateGroupProtectedBranchOptions
- type UpdateGroupProtectedEnvironmentOptions
- type UpdateGroupSecuritySettingsOptions
- 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 UpdateMetricImageOptions
- type UpdateMilestoneOptions
- type UpdatePackageProtectionRulesOptions
- type UpdatePagesDomainOptions
- type UpdatePagesOptions
- type UpdatePipelineMetadataOptions
- type UpdateProjectDeploymentOptions
- type UpdateProjectExternalStatusCheckOptions
- type UpdateProjectFeatureFlagOptions
- type UpdateProjectLevelRuleOptions
- type UpdateProjectMergeRequestApprovalSettingsOptions
- type UpdateProjectSecuritySettingsOptions
- type UpdateProjectSnippetOptions
- type UpdateProjectVariableOptions
- type UpdateProtectedBranchOptions
- type UpdateProtectedEnvironmentsOptions
- type UpdateReleaseLinkOptions
- type UpdateReleaseOptions
- type UpdateRunnerControllerOptions
- type UpdateRunnerDetailsOptions
- type UpdateSCIMIdentityOptions
- type UpdateServiceAccountOptions
- type UpdateSettingsOptions
- type UpdateSnippetDiscussionNoteOptions
- type UpdateSnippetFileOptions
- type UpdateSnippetNoteOptions
- type UpdateSnippetOptions
- type UpdateSubmoduleOptions
- type UpdateTopicOptions
- type UpdateWorkItemOptions
- type UploadMetricImageOptions
- type UploadType
- type UploadWikiAttachmentOptions
- type UsageDataService
- func (s *UsageDataService) GetMetricDefinitionsAsYAML(options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
- func (s *UsageDataService) GetNonSQLMetrics(options ...RequestOptionFunc) (*ServicePingNonSQLMetrics, *Response, error)
- func (s *UsageDataService) GetQueries(options ...RequestOptionFunc) (*ServicePingQueries, *Response, error)
- func (s *UsageDataService) GetServicePing(options ...RequestOptionFunc) (*ServicePingData, *Response, error)
- func (s *UsageDataService) TrackEvent(opt *TrackEventOptions, options ...RequestOptionFunc) (*Response, error)
- func (s *UsageDataService) TrackEvents(opt *TrackEventsOptions, options ...RequestOptionFunc) (*Response, error)
- type UsageDataServiceInterface
- type User
- type UserActivity
- type UserAssociationsCount
- type UserAvatar
- type UserGroupSystemEvent
- type UserID
- type UserIDValue
- type UserIdentity
- type UserMembership
- type UserRunner
- type UserStatus
- type UserStatusOptions
- type UserSystemEvent
- type UserTeamSystemEvent
- type UsersService
- func (s *UsersService) ActivateUser(user int64, options ...RequestOptionFunc) (*Response, error)
- func (s *UsersService) AddEmail(opt *AddEmailOptions, options ...RequestOptionFunc) (*Email, *Response, error)
- func (s *UsersService) AddEmailForUser(user int64, opt *AddEmailOptions, options ...RequestOptionFunc) (*Email, *Response, error)
- func (s *UsersService) AddGPGKey(opt *AddGPGKeyOptions, options ...RequestOptionFunc) (*GPGKey, *Response, error)
- func (s *UsersService) AddGPGKeyForUser(user int64, opt *AddGPGKeyOptions, options ...RequestOptionFunc) (*GPGKey, *Response, error)
- func (s *UsersService) AddSSHKey(opt *AddSSHKeyOptions, options ...RequestOptionFunc) (*SSHKey, *Response, error)
- func (s *UsersService) AddSSHKeyForUser(user int64, opt *AddSSHKeyOptions, options ...RequestOptionFunc) (*SSHKey, *Response, error)
- func (s *UsersService) ApproveUser(user int64, options ...RequestOptionFunc) (*Response, error)
- func (s *UsersService) BanUser(user int64, options ...RequestOptionFunc) (*Response, error)
- func (s *UsersService) BlockUser(user int64, options ...RequestOptionFunc) (*Response, error)
- func (s *UsersService) CreateImpersonationToken(user int64, opt *CreateImpersonationTokenOptions, options ...RequestOptionFunc) (*ImpersonationToken, *Response, error)
- func (s *UsersService) CreatePersonalAccessToken(user int64, opt *CreatePersonalAccessTokenOptions, ...) (*PersonalAccessToken, *Response, error)
- func (s *UsersService) CreatePersonalAccessTokenForCurrentUser(opt *CreatePersonalAccessTokenForCurrentUserOptions, ...) (*PersonalAccessToken, *Response, error)
- func (s *UsersService) CreateServiceAccountUser(opts *CreateServiceAccountUserOptions, 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 int64, options ...RequestOptionFunc) (*Response, error)
- func (s *UsersService) DeleteEmail(email int64, options ...RequestOptionFunc) (*Response, error)
- func (s *UsersService) DeleteEmailForUser(user, email int64, options ...RequestOptionFunc) (*Response, error)
- func (s *UsersService) DeleteGPGKey(key int64, options ...RequestOptionFunc) (*Response, error)
- func (s *UsersService) DeleteGPGKeyForUser(user, key int64, options ...RequestOptionFunc) (*Response, error)
- func (s *UsersService) DeleteSSHKey(key int64, options ...RequestOptionFunc) (*Response, error)
- func (s *UsersService) DeleteSSHKeyForUser(user, key int64, options ...RequestOptionFunc) (*Response, error)
- func (s *UsersService) DeleteUser(user int64, options ...RequestOptionFunc) (*Response, error)
- func (s *UsersService) DeleteUserIdentity(user int64, provider string, options ...RequestOptionFunc) (*Response, error)
- func (s *UsersService) DisableTwoFactor(user int64, options ...RequestOptionFunc) (*Response, error)
- func (s *UsersService) GetAllImpersonationTokens(user int64, opt *GetAllImpersonationTokensOptions, ...) ([]*ImpersonationToken, *Response, error)
- func (s *UsersService) GetEmail(email int64, options ...RequestOptionFunc) (*Email, *Response, error)
- func (s *UsersService) GetGPGKey(key int64, options ...RequestOptionFunc) (*GPGKey, *Response, error)
- func (s *UsersService) GetGPGKeyForUser(user, key int64, options ...RequestOptionFunc) (*GPGKey, *Response, error)
- func (s *UsersService) GetImpersonationToken(user, token int64, options ...RequestOptionFunc) (*ImpersonationToken, *Response, error)
- func (s *UsersService) GetSSHKey(key int64, options ...RequestOptionFunc) (*SSHKey, *Response, error)
- func (s *UsersService) GetSSHKeyForUser(user int64, key int64, options ...RequestOptionFunc) (*SSHKey, *Response, error)
- func (s *UsersService) GetUser(user int64, opt *GetUserOptions, options ...RequestOptionFunc) (*User, *Response, error)
- func (s *UsersService) GetUserActivities(opt *GetUserActivitiesOptions, options ...RequestOptionFunc) ([]*UserActivity, *Response, error)
- func (s *UsersService) GetUserAssociationsCount(user int64, options ...RequestOptionFunc) (*UserAssociationsCount, *Response, error)
- func (s *UsersService) GetUserMemberships(user int64, opt *GetUserMembershipOptions, options ...RequestOptionFunc) ([]*UserMembership, *Response, error)
- func (s *UsersService) GetUserStatus(uid any, options ...RequestOptionFunc) (*UserStatus, *Response, error)
- func (s *UsersService) ListEmails(options ...RequestOptionFunc) ([]*Email, *Response, error)
- func (s *UsersService) ListEmailsForUser(user int64, opt *ListEmailsForUserOptions, options ...RequestOptionFunc) ([]*Email, *Response, error)
- func (s *UsersService) ListGPGKeys(options ...RequestOptionFunc) ([]*GPGKey, *Response, error)
- func (s *UsersService) ListGPGKeysForUser(user int64, options ...RequestOptionFunc) ([]*GPGKey, *Response, error)
- func (s *UsersService) ListSSHKeys(opt *ListSSHKeysOptions, options ...RequestOptionFunc) ([]*SSHKey, *Response, error)
- func (s *UsersService) ListSSHKeysForUser(uid any, opt *ListSSHKeysForUserOptions, options ...RequestOptionFunc) ([]*SSHKey, *Response, error)
- func (s *UsersService) ListServiceAccounts(opt *ListServiceAccountsOptions, options ...RequestOptionFunc) ([]*ServiceAccount, *Response, error)
- func (s *UsersService) ListUserContributionEvents(uid any, opt *ListContributionEventsOptions, options ...RequestOptionFunc) ([]*ContributionEvent, *Response, error)
- func (s *UsersService) ListUsers(opt *ListUsersOptions, options ...RequestOptionFunc) ([]*User, *Response, error)
- func (s *UsersService) ModifyUser(user int64, opt *ModifyUserOptions, options ...RequestOptionFunc) (*User, *Response, error)
- func (s *UsersService) RejectUser(user int64, options ...RequestOptionFunc) (*Response, error)
- func (s *UsersService) RevokeImpersonationToken(user, token int64, options ...RequestOptionFunc) (*Response, error)
- func (s *UsersService) SetUserStatus(opt *UserStatusOptions, options ...RequestOptionFunc) (*UserStatus, *Response, error)
- func (s *UsersService) UnbanUser(user int64, options ...RequestOptionFunc) (*Response, error)
- func (s *UsersService) UnblockUser(user int64, options ...RequestOptionFunc) (*Response, error)
- func (s *UsersService) UploadAvatar(avatar io.Reader, filename string, options ...RequestOptionFunc) (*User, *Response, error)
- type UsersServiceInterface
- type ValidateService
- type ValidateServiceInterface
- type VariableFilter
- type VariableTypeValue
- type VerifyRegisteredRunnerOptions
- type Version
- type VersionService
- type VersionServiceInterface
- type VisibilityValue
- type VulnerabilityEvent
- type VulnerabilityEventCVSS
- type VulnerabilityEventIdentifier
- type VulnerabilityEventIssue
- type VulnerabilityEventLocation
- type VulnerabilityEventLocationDependency
- type VulnerabilityEventLocationDependencyPackage
- type VulnerabilityEventObjectAttributes
- type WebexTeamsIntegration
- type WebexTeamsIntegrationProperties
- type WeightEvent
- type Wiki
- type WikiAttachment
- type WikiAttachmentLink
- type WikiFormatValue
- type WikiPageEvent
- type WikiPageEventObjectAttributes
- type WikiPageEventProject
- type WikiPageEventWiki
- type WikisService
- func (s *WikisService) CreateWikiPage(pid any, opt *CreateWikiPageOptions, options ...RequestOptionFunc) (*Wiki, *Response, error)
- func (s *WikisService) DeleteWikiPage(pid any, slug string, options ...RequestOptionFunc) (*Response, error)
- func (s *WikisService) EditWikiPage(pid any, slug string, opt *EditWikiPageOptions, options ...RequestOptionFunc) (*Wiki, *Response, error)
- func (s *WikisService) GetWikiPage(pid any, slug string, opt *GetWikiPageOptions, options ...RequestOptionFunc) (*Wiki, *Response, error)
- func (s *WikisService) ListWikis(pid any, opt *ListWikisOptions, options ...RequestOptionFunc) ([]*Wiki, *Response, error)
- func (s *WikisService) UploadWikiAttachment(pid any, content io.Reader, filename string, opt *UploadWikiAttachmentOptions, ...) (*WikiAttachment, *Response, error)
- type WikisServiceInterface
- type WorkItem
- type WorkItemIID
- type WorkItemStateEvent
- type WorkItemStatusID
- type WorkItemTypeID
- type WorkItemsService
- func (s *WorkItemsService) CreateWorkItem(fullPath string, workItemTypeID WorkItemTypeID, opt *CreateWorkItemOptions, ...) (*WorkItem, *Response, error)
- func (s *WorkItemsService) DeleteWorkItem(fullPath string, iid int64, options ...RequestOptionFunc) (*Response, error)
- func (s *WorkItemsService) GetWorkItem(fullPath string, iid int64, options ...RequestOptionFunc) (*WorkItem, *Response, error)
- func (s *WorkItemsService) ListWorkItems(fullPath string, opt *ListWorkItemsOptions, options ...RequestOptionFunc) ([]*WorkItem, *Response, error)
- func (s *WorkItemsService) UpdateWorkItem(fullPath string, iid int64, opt *UpdateWorkItemOptions, ...) (*WorkItem, *Response, error)
- type WorkItemsServiceInterface
- type X509Certificate
- type X509Issuer
- type X509Signature
- type YouTrackService
- type YouTrackServiceProperties
Examples ¶
Constants ¶
const ( AccessTokenHeaderName = "Private-Token" JobTokenHeaderName = "Job-Token" OAuthTokenHeaderName = "Authorization" )
const (
// GraphQLAPIEndpoint defines the endpoint URI for the GraphQL backend
GraphQLAPIEndpoint = "/api/graphql"
)
Variables ¶
var ( // ErrNotFound is returned for 404 Not Found errors ErrNotFound = errors.New("404 Not Found") // ErrEmptyResponse is returned when the API response is empty but expected to contain data ErrEmptyResponse = errors.New("unexpected empty response") )
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") )
List a couple of standard errors.
var ErrInvalidIDType = errors.New("the ID must be an int or a string")
ErrInvalidIDType is returned when a function expecting an ID as either an integer or string receives a different type. This error commonly occurs when working with GitLab resources like groups and projects which support both numeric IDs and path-based string identifiers.
Functions ¶
func CheckResponse ¶
CheckResponse checks the API response for errors, and returns them if present.
func HasStatusCode ¶
func HookEventToken ¶
HookEventToken returns the token for the given request.
func Must ¶
Must provides a single item iterator for the provided two item iterator and panics if an error happens.
opts := &ListProjectsOptions{}
for p := range Must(Scan2(func(p PaginationOptionFunc) ([]*Project, *Response, error) {
return c.Projects.ListProjects(opts, p)
})) {
// do something with p
}
Attention: This API is experimental and may be subject to breaking changes to improve the API in the future.
func ParseHook ¶
ParseHook tries to parse both web- and system hooks.
Example usage:
func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {
payload, err := io.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 ¶
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 := io.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 ¶
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 := io.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 ¶
PathEscape is a helper function to escape a project identifier.
func Scan ¶
func Scan[T any](f func(p PaginationOptionFunc) ([]T, *Response, error)) (iter.Seq[T], func() error)
Scan scans all pages for the given request function f and returns individual items in an iterator. If an error happens during pagination, the iterator stops immediately. The caller must consume the returned error function to retrieve potential errors.
opts := &ListProjectsOptions{}
it, hasErr := Scan(func(p PaginationOptionFunc) ([]*Project, *Response, error) {
return c.Projects.ListProjects(opts, p)
})
projects := slices.Collect(it)
if err := hasErr(); err != nil {
return err
}
or with keyset-based pagination:
opts := &ListProjectsOptions{
ListOptions: ListOptions{
OrderBy: "id",
Pagination: "keyset",
},
}
it, hasErr := Scan(func(p PaginationOptionFunc) ([]*Project, *Response, error) {
return c.Projects.ListProjects(opts, p)
})
projects := slices.Collect(it)
if err := hasErr(); err != nil {
return err
}
Attention: This API is experimental and may be subject to breaking changes to improve the API in the future.
func Scan2 ¶
Scan2 scans all pages for the given request function f and returns individual items and potential errors in an iterator. The caller must consume the error element of the iterator during each iteration to ensure that no errors happened.
opts := &ListProjectsOptions{}
for p, err := range Scan2(func(p PaginationOptionFunc) ([]*Project, *Response, error) {
return c.Projects.ListProjects(opts, p)
}) {
if err != nil {
return err
}
// do something with p
}
or with keyset-based pagination:
opts := &ListProjectsOptions{
ListOptions: ListOptions{
OrderBy: "id",
Pagination: "keyset",
},
}
for p, err := range Scan2(func(p PaginationOptionFunc) ([]*Project, *Response, error) {
return c.Projects.ListProjects(opts, p)
}) {
if err != nil {
return err
}
// do something with p
}
Attention: This API is experimental and may be subject to breaking changes to improve the API in the future.
Example ¶
package main
import (
"fmt"
"log"
gitlab "gitlab.com/gitlab-org/api/client-go/v2"
)
func main() {
// Create a client (this would normally use your GitLab instance URL and token)
client, err := gitlab.NewAuthSourceClient(
gitlab.AccessTokenAuthSource{"your-token"},
gitlab.WithBaseURL("https://gitlab.example.com/api/v4"),
)
if err != nil {
// Handle the error
panic(err)
}
opts := &gitlab.ListProjectsOptions{}
pager := func(pageOpt gitlab.PaginationOptionFunc) ([]*gitlab.Project, *gitlab.Response, error) {
// Call ListProjects with pageOpt to retrieve the next page
return client.Projects.ListProjects(opts, pageOpt)
}
// Create a project iterator
projects := gitlab.Scan2(pager)
// Iterate over the project iterator
for project, err := range projects {
// Errors are delivered inline — check for them and break the loop before using the value
if err != nil {
log.Println("ERROR:", err)
break
}
fmt.Printf("- %s (ID: %d)\n", project.PathWithNamespace, project.ID)
}
}
Output:
func ScanAndCollect ¶
func ScanAndCollect[T any](f func(p PaginationOptionFunc) ([]T, *Response, error)) ([]T, error)
ScanAndCollect is a convenience function that collects all results and returns them as a slice as well as an error if one happens.
opts := &ListProjectsOptions{}
projects, err := ScanAndCollect(func(p PaginationOptionFunc) ([]*Project, *Response, error) {
return c.Projects.ListProjects(opts, p)
}))
if err != nil {
// handle the error
}
// do something with projects
Attention: This API is experimental and may be subject to breaking changes to improve the API in the future.
func ScanAndCollectN ¶
func ScanAndCollectN[T any](f func(p PaginationOptionFunc) ([]T, *Response, error), n int) ([]T, error)
ScanAndCollectN is a convenience function that collects at most n results and returns them as a slice as well as an error if one happens.
This is useful when you need a slice, e.g. for marshaling the data structures, passing the data to a function expecting a slice, or implementing custom sorting logic. If you want to iterate over all items, the iterator returned by Scan2 is a more memory efficient alternative.
n determines the number of items to collect:
- n > 0: at most n items are returned
- n == 0: the result is a nil slice (zero items)
- n < 0: all items are returned (no limit)
Attention: This API is experimental and may be subject to breaking changes to improve the API in the future.
Example ¶
package main
import (
"encoding/json"
"os"
gitlab "gitlab.com/gitlab-org/api/client-go/v2"
)
func main() {
// Create a client (this would normally use your GitLab instance URL and token)
client, err := gitlab.NewAuthSourceClient(
gitlab.AccessTokenAuthSource{"your-token"},
gitlab.WithBaseURL("https://gitlab.example.com/api/v4"),
)
if err != nil {
// Handle the error
panic(err)
}
opts := &gitlab.ListProjectsOptions{}
pager := func(pageOpt gitlab.PaginationOptionFunc) ([]*gitlab.Project, *gitlab.Response, error) {
// Call ListProjects with pageOpt to retrieve the next page
return client.Projects.ListProjects(opts, pageOpt)
}
// Retrieve at most 42 projects
const limit = 42
projects, err := gitlab.ScanAndCollectN(pager, limit)
if err != nil {
// Handle the error
panic(err)
}
// Use the slice — here we serialize it to JSON, but you could sort it, pass it to another function, etc.
// Note: if you want to iterate over items, use gitlab.Scan2() instead
if err := json.NewEncoder(os.Stdout).Encode(projects); err != nil {
panic(err)
}
}
Output:
Types ¶
type AcceptMergeRequestOptions ¶
type AcceptMergeRequestOptions struct {
AutoMerge *bool `url:"auto_merge,omitempty" json:"auto_merge,omitempty"`
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"`
SHA *string `url:"sha,omitempty" json:"sha,omitempty"`
// Deprecated: use AutoMerge instead
MergeWhenPipelineSucceeds *bool `url:"merge_when_pipeline_succeeds,omitempty" json:"merge_when_pipeline_succeeds,omitempty"`
}
AcceptMergeRequestOptions represents the available AcceptMergeRequest() options.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#merge-a-merge-request
type AccessControlValue ¶
type AccessControlValue string
AccessControlValue represents an access control value within GitLab, used for managing access to certain project features.
GitLab API docs: https://docs.gitlab.com/api/projects/
const ( DisabledAccessControl AccessControlValue = "disabled" EnabledAccessControl AccessControlValue = "enabled" PrivateAccessControl AccessControlValue = "private" PublicAccessControl AccessControlValue = "public" )
List of available access control values.
GitLab API docs: https://docs.gitlab.com/api/projects/
type AccessLevelDetails ¶
type AccessLevelDetails struct {
IntegerValue AccessLevelValue `json:"integer_value"`
StringValue string `json:"string_value"`
}
type AccessLevelValue ¶
type AccessLevelValue int
AccessLevelValue represents a permission level within GitLab.
GitLab API docs: https://docs.gitlab.com/user/permissions/#roles
const ( NoPermissions AccessLevelValue = 0 MinimalAccessPermissions AccessLevelValue = 5 GuestPermissions AccessLevelValue = 10 PlannerPermissions AccessLevelValue = 15 ReporterPermissions AccessLevelValue = 20 DeveloperPermissions AccessLevelValue = 30 MaintainerPermissions AccessLevelValue = 40 OwnerPermissions AccessLevelValue = 50 AdminPermissions AccessLevelValue = 60 )
List of available access levels.
GitLab API docs: https://docs.gitlab.com/api/access_requests/#valid-access-levels
type AccessRequest ¶
type AccessRequest struct {
ID int64 `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"`
}
AccessRequest represents a access request for a group or project.
GitLab API docs: https://docs.gitlab.com/api/access_requests/
type AccessRequestsService ¶
type AccessRequestsService struct {
// contains filtered or unexported fields
}
AccessRequestsService handles communication with the project/group access requests related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/access_requests/
func (*AccessRequestsService) ApproveGroupAccessRequest ¶
func (s *AccessRequestsService) ApproveGroupAccessRequest(gid any, user int64, opt *ApproveAccessRequestOptions, options ...RequestOptionFunc) (*AccessRequest, *Response, error)
func (*AccessRequestsService) ApproveProjectAccessRequest ¶
func (s *AccessRequestsService) ApproveProjectAccessRequest(pid any, user int64, opt *ApproveAccessRequestOptions, options ...RequestOptionFunc) (*AccessRequest, *Response, error)
func (*AccessRequestsService) DenyGroupAccessRequest ¶
func (s *AccessRequestsService) DenyGroupAccessRequest(gid any, user int64, options ...RequestOptionFunc) (*Response, error)
func (*AccessRequestsService) DenyProjectAccessRequest ¶
func (s *AccessRequestsService) DenyProjectAccessRequest(pid any, user int64, options ...RequestOptionFunc) (*Response, error)
func (*AccessRequestsService) ListGroupAccessRequests ¶
func (s *AccessRequestsService) ListGroupAccessRequests(gid any, opt *ListAccessRequestsOptions, options ...RequestOptionFunc) ([]*AccessRequest, *Response, error)
func (*AccessRequestsService) ListProjectAccessRequests ¶
func (s *AccessRequestsService) ListProjectAccessRequests(pid any, opt *ListAccessRequestsOptions, options ...RequestOptionFunc) ([]*AccessRequest, *Response, error)
func (*AccessRequestsService) RequestGroupAccess ¶
func (s *AccessRequestsService) RequestGroupAccess(gid any, options ...RequestOptionFunc) (*AccessRequest, *Response, error)
func (*AccessRequestsService) RequestProjectAccess ¶
func (s *AccessRequestsService) RequestProjectAccess(pid any, options ...RequestOptionFunc) (*AccessRequest, *Response, error)
type AccessRequestsServiceInterface ¶
type AccessRequestsServiceInterface interface {
// ListProjectAccessRequests gets a list of access requests
// viewable by the authenticated user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/access_requests/#list-access-requests-for-a-group-or-project
// ListProjectAccessRequests gets a list of access requests
// viewable by the authenticated user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/access_requests/#list-access-requests-for-a-group-or-project
ListProjectAccessRequests(pid any, 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/api/access_requests/#list-access-requests-for-a-group-or-project
ListGroupAccessRequests(gid any, opt *ListAccessRequestsOptions, options ...RequestOptionFunc) ([]*AccessRequest, *Response, error)
// RequestProjectAccess requests access for the authenticated user
// to a group or project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/access_requests/#request-access-to-a-group-or-project
RequestProjectAccess(pid any, options ...RequestOptionFunc) (*AccessRequest, *Response, error)
// RequestGroupAccess requests access for the authenticated user
// to a group or project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/access_requests/#request-access-to-a-group-or-project
RequestGroupAccess(gid any, options ...RequestOptionFunc) (*AccessRequest, *Response, error)
// ApproveProjectAccessRequest approves an access request for the given user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/access_requests/#approve-an-access-request
ApproveProjectAccessRequest(pid any, user int64, opt *ApproveAccessRequestOptions, options ...RequestOptionFunc) (*AccessRequest, *Response, error)
// ApproveGroupAccessRequest approves an access request for the given user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/access_requests/#approve-an-access-request
ApproveGroupAccessRequest(gid any, user int64, opt *ApproveAccessRequestOptions, options ...RequestOptionFunc) (*AccessRequest, *Response, error)
// DenyProjectAccessRequest denies an access request for the given user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/access_requests/#deny-an-access-request
DenyProjectAccessRequest(pid any, user int64, options ...RequestOptionFunc) (*Response, error)
// DenyGroupAccessRequest denies an access request for the given user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/access_requests/#deny-an-access-request
DenyGroupAccessRequest(gid any, user int64, options ...RequestOptionFunc) (*Response, error)
}
type AccessTokenAuthSource ¶
type AccessTokenAuthSource struct {
Token string
}
AccessTokenAuthSource used as an AuthSource for various access tokens, like Personal-, Project- and Group- Access Tokens. Can be used for all tokens that authorize with the Private-Token header.
type AccessTokenSort ¶
type AccessTokenSort string
AccessTokenSort represents the available sorting options for access tokens.
GitLab API docs: https://docs.gitlab.com/api/group_access_tokens/#list-all-group-access-tokens
const ( CreatedAsc AccessTokenSort = "created_asc" CreatedDesc AccessTokenSort = "created_desc" ExpiresAsc AccessTokenSort = "expires_asc" ExpiresDesc AccessTokenSort = "expires_desc" LastUsedAsc AccessTokenSort = "last_used_asc" LastUsedDesc AccessTokenSort = "last_used_desc" NameAsc AccessTokenSort = "name_asc" NameDesc AccessTokenSort = "name_desc" )
type AccessTokenState ¶
type AccessTokenState string
AccessTokenState identifies if an access token is active or inactive.
GitLab API docs: https://docs.gitlab.com/api/group_access_tokens/#list-all-group-access-tokens https://docs.gitlab.com/api/project_access_tokens/#list-all-project-access-tokens
const ( AccessTokenStateActive AccessTokenState = "active" AccessTokenStateInactive AccessTokenState = "inactive" )
type AddChangelogOptions ¶
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"`
}
AddChangelogOptions represents the available AddChangelog() options.
GitLab API docs: https://docs.gitlab.com/api/repositories/#add-changelog-data-to-a-changelog-file
type AddClusterOptions ¶
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"`
}
AddClusterOptions represents the available AddCluster() options. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/project_clusters/#add-existing-cluster-to-project
type AddCommitDiscussionNoteOptions ¶
type AddCommitDiscussionNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}
AddCommitDiscussionNoteOptions represents the available AddCommitDiscussionNote() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#add-note-to-existing-commit-thread
type AddDeployKeyOptions ¶
type AddDeployKeyOptions struct {
Key *string `url:"key,omitempty" json:"key,omitempty"`
Title *string `url:"title,omitempty" json:"title,omitempty"`
CanPush *bool `url:"can_push,omitempty" json:"can_push,omitempty"`
ExpiresAt *time.Time `url:"expires_at,omitempty" json:"expires_at,omitempty"`
}
AddDeployKeyOptions represents the available ADDDeployKey() options.
GitLab API docs: https://docs.gitlab.com/api/deploy_keys/#add-deploy-key-for-a-project
type AddEmailOptions ¶
type AddEmailOptions struct {
Email *string `url:"email,omitempty" json:"email,omitempty"`
SkipConfirmation *bool `url:"skip_confirmation,omitempty" json:"skip_confirmation,omitempty"`
}
AddEmailOptions represents the available AddEmail() options.
GitLab API docs: https://docs.gitlab.com/api/user_email_addresses/#add-an-email-address
type AddEpicDiscussionNoteOptions ¶
type AddEpicDiscussionNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}
AddEpicDiscussionNoteOptions represents the available AddEpicDiscussionNote() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#add-note-to-existing-epic-thread
type AddGPGKeyOptions ¶
type AddGPGKeyOptions struct {
Key *string `url:"key,omitempty" json:"key,omitempty"`
}
AddGPGKeyOptions represents the available AddGPGKey() options.
GitLab API docs: https://docs.gitlab.com/api/user_keys/#add-a-gpg-key
type AddGroupBadgeOptions ¶
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"`
}
AddGroupBadgeOptions represents the available AddGroupBadge() options.
GitLab API docs: https://docs.gitlab.com/api/group_badges/#add-a-badge-to-a-group
type AddGroupClusterOptions ¶
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"`
}
AddGroupClusterOptions represents the available AddCluster() options. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/group_clusters/#add-existing-cluster-to-group
type AddGroupHookOptions ¶
type AddGroupHookOptions struct {
URL *string `url:"url,omitempty" json:"url,omitempty"`
Name *string `url:"name,omitempty" json:"name,omitempty"`
Description *string `url:"description,omitempty" json:"description,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"`
BranchFilterStrategy *string `url:"branch_filter_strategy,omitempty" json:"branch_filter_strategy,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"`
JobEvents *bool `url:"job_events,omitempty" json:"job_events,omitempty"`
PipelineEvents *bool `url:"pipeline_events,omitempty" json:"pipeline_events,omitempty"`
ProjectEvents *bool `url:"project_events,omitempty" json:"project_events,omitempty"`
WikiPageEvents *bool `url:"wiki_page_events,omitempty" json:"wiki_page_events,omitempty"`
DeploymentEvents *bool `url:"deployment_events,omitempty" json:"deployment_events,omitempty"`
FeatureFlagEvents *bool `url:"feature_flag_events,omitempty" json:"feature_flag_events,omitempty"`
ReleasesEvents *bool `url:"releases_events,omitempty" json:"releases_events,omitempty"`
MilestoneEvents *bool `url:"milestone_events,omitempty" json:"milestone_events,omitempty"`
SubGroupEvents *bool `url:"subgroup_events,omitempty" json:"subgroup_events,omitempty"`
EmojiEvents *bool `url:"emoji_events,omitempty" json:"emoji_events,omitempty"`
MemberEvents *bool `url:"member_events,omitempty" json:"member_events,omitempty"`
VulnerabilityEvents *bool `url:"vulnerability_events,omitempty" json:"vulnerability_events,omitempty"`
EnableSSLVerification *bool `url:"enable_ssl_verification,omitempty" json:"enable_ssl_verification,omitempty"`
Token *string `url:"token,omitempty" json:"token,omitempty"`
ResourceAccessTokenEvents *bool `url:"resource_access_token_events,omitempty" json:"resource_access_token_events,omitempty"`
CustomWebhookTemplate *string `url:"custom_webhook_template,omitempty" json:"custom_webhook_template,omitempty"`
CustomHeaders *[]*HookCustomHeader `url:"custom_headers,omitempty" json:"custom_headers,omitempty"`
}
AddGroupHookOptions represents the available AddGroupHook() options.
GitLab API docs: https://docs.gitlab.com/api/group_webhooks/#add-a-group-hook
type AddGroupLDAPLinkOptions ¶
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"`
MemberRoleID *int64 `url:"member_role_id,omitempty" json:"member_role_id,omitempty"`
}
AddGroupLDAPLinkOptions represents the available AddGroupLDAPLink() options.
GitLab API docs: https://docs.gitlab.com/api/group_ldap_links/#add-an-ldap-group-link-with-cn-or-filter
type AddGroupMemberOptions ¶
type AddGroupMemberOptions struct {
UserID *int64 `url:"user_id,omitempty" json:"user_id,omitempty"`
Username *string `url:"username,omitempty" json:"username,omitempty"`
AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
ExpiresAt *string `url:"expires_at,omitempty" json:"expires_at"`
MemberRoleID *int64 `url:"member_role_id,omitempty" json:"member_role_id,omitempty"`
}
AddGroupMemberOptions represents the available AddGroupMember() options.
GitLab API docs: https://docs.gitlab.com/api/members/#add-a-member-to-a-group-or-project
type AddGroupPlatformKubernetesOptions ¶
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"`
}
AddGroupPlatformKubernetesOptions represents the available PlatformKubernetes options for adding. Deprecated: in GitLab 14.5, to be removed in 19.0
type AddGroupPushRuleOptions ¶
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"`
CommitCommitterNameCheck *bool `url:"commit_committer_name_check,omitempty" json:"commit_committer_name_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 *int64 `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"`
RejectNonDCOCommits *bool `url:"reject_non_dco_commits,omitempty" json:"reject_non_dco_commits,omitempty"`
}
AddGroupPushRuleOptions represents the available AddGroupPushRule() options.
GitLab API docs: https://docs.gitlab.com/api/group_push_rules/#add-push-rules-to-a-group
type AddGroupSAMLLinkOptions ¶
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"`
MemberRoleID *int64 `url:"member_role_id,omitempty" json:"member_role_id,omitempty"`
Provider *string `url:"provider,omitempty" json:"provider,omitempty"`
}
AddGroupSAMLLinkOptions represents the available AddGroupSAMLLink() options.
GitLab API docs: https://docs.gitlab.com/api/saml/#add-a-saml-group-link
type AddGroupToJobTokenAllowlistOptions ¶
type AddGroupToJobTokenAllowlistOptions struct {
TargetGroupID *int64 `url:"target_group_id,omitempty" json:"target_group_id,omitempty"`
}
AddGroupToJobTokenAllowlistOptions represents the available AddGroupToJobTokenAllowlist() options.
GitLab API docs: https://docs.gitlab.com/api/project_job_token_scopes/#add-a-group-to-a-cicd-job-token-allowlist
type AddHookOptions ¶
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"`
}
AddHookOptions represents the available AddHook() options.
GitLab API docs: https://docs.gitlab.com/api/system_hooks/#add-new-system-hook
type AddInstanceDeployKeyOptions ¶
type AddInstanceDeployKeyOptions struct {
Key *string `url:"key,omitempty" json:"key,omitempty"`
Title *string `url:"title,omitempty" json:"title,omitempty"`
ExpiresAt *time.Time `url:"expires_at,omitempty" json:"expires_at,omitempty"`
}
AddInstanceDeployKeyOptions represents the available AddInstanceDeployKey() options.
GitLab API docs: https://docs.gitlab.com/api/deploy_keys/#add-deploy-key
type AddIssueDiscussionNoteOptions ¶
type AddIssueDiscussionNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}
AddIssueDiscussionNoteOptions represents the available AddIssueDiscussionNote() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#add-note-to-existing-issue-thread
type AddLicenseOptions ¶
type AddLicenseOptions struct {
License *string `url:"license" json:"license"`
}
AddLicenseOptions represents the available AddLicense() options.
type AddMergeRequestDiscussionNoteOptions ¶
type AddMergeRequestDiscussionNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}
AddMergeRequestDiscussionNoteOptions represents the available AddMergeRequestDiscussionNote() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#add-note-to-existing-merge-request-thread
type AddMergeRequestToMergeTrainOptions ¶
type AddMergeRequestToMergeTrainOptions struct {
AutoMerge *bool `url:"auto_merge,omitempty" json:"auto_merge,omitempty"`
SHA *string `url:"sha,omitempty" json:"sha,omitempty"`
Squash *bool `url:"squash,omitempty" json:"squash,omitempty"`
// Deprecated: in 17.11, use AutoMerge instead
WhenPipelineSucceeds *bool `url:"when_pipeline_succeeds,omitempty" json:"when_pipeline_succeeds,omitempty"`
}
AddMergeRequestToMergeTrainOptions represents the available AddMergeRequestToMergeTrain() options.
GitLab API docs: https://docs.gitlab.com/api/merge_trains/#add-a-merge-request-to-a-merge-train
type AddPipelineTriggerOptions ¶
type AddPipelineTriggerOptions struct {
Description *string `url:"description,omitempty" json:"description,omitempty"`
}
AddPipelineTriggerOptions represents the available AddPipelineTrigger() options.
GitLab API docs: https://docs.gitlab.com/api/pipeline_triggers/#create-a-trigger-token
type AddPlatformKubernetesOptions ¶
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"`
}
AddPlatformKubernetesOptions represents the available PlatformKubernetes options for adding. Deprecated: in GitLab 14.5, to be removed in 19.0
type AddProjectBadgeOptions ¶
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"`
}
AddProjectBadgeOptions represents the available AddProjectBadge() options.
GitLab API docs: https://docs.gitlab.com/api/project_badges/#add-a-badge-to-a-project
type AddProjectHookOptions ¶
type AddProjectHookOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
Description *string `url:"description,omitempty" json:"description,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"`
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"`
EmojiEvents *bool `url:"emoji_events,omitempty" json:"emoji_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"`
ResourceAccessTokenEvents *bool `url:"resource_access_token_events,omitempty" json:"resource_access_token_events,omitempty"`
CustomWebhookTemplate *string `url:"custom_webhook_template,omitempty" json:"custom_webhook_template,omitempty"`
CustomHeaders *[]*HookCustomHeader `url:"custom_headers,omitempty" json:"custom_headers,omitempty"`
VulnerabilityEvents *bool `url:"vulnerability_events,omitempty" json:"vulnerability_events,omitempty"`
BranchFilterStrategy *string `url:"branch_filter_strategy,omitempty" json:"branch_filter_strategy,omitempty"`
}
AddProjectHookOptions represents the available AddProjectHook() options.
GitLab API docs: https://docs.gitlab.com/api/project_webhooks/#add-a-webhook-to-a-project
type AddProjectMemberOptions ¶
type AddProjectMemberOptions struct {
UserID any `url:"user_id,omitempty" json:"user_id,omitempty"`
Username *string `url:"username,omitempty" json:"username,omitempty"`
AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
ExpiresAt *string `url:"expires_at,omitempty" json:"expires_at"`
MemberRoleID *int64 `url:"member_role_id,omitempty" json:"member_role_id,omitempty"`
}
AddProjectMemberOptions represents the available AddProjectMember() options.
GitLab API docs: https://docs.gitlab.com/api/members/#add-a-member-to-a-group-or-project
type AddProjectMirrorOptions ¶
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"`
AuthMethod *string `url:"auth_method,omitempty" json:"auth_method,omitempty"`
HostKeys *[]string `url:"host_keys,omitempty" json:"host_keys,omitempty"`
}
AddProjectMirrorOptions contains the properties requires to create a new project mirror.
GitLab API docs: https://docs.gitlab.com/api/remote_mirrors/#create-a-push-mirror
type AddProjectPushRuleOptions ¶
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"`
CommitCommitterNameCheck *bool `url:"commit_committer_name_check,omitempty" json:"commit_committer_name_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 *int64 `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"`
RejectNonDCOCommits *bool `url:"reject_non_dco_commits,omitempty" json:"reject_non_dco_commits,omitempty"`
}
AddProjectPushRuleOptions represents the available AddProjectPushRule() options.
GitLab API docs: https://docs.gitlab.com/api/project_push_rules/#add-a-project-push-rule
type AddSSHKeyOptions ¶
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"`
UsageType *string `url:"usage_type,omitempty" json:"usage_type,omitempty"`
}
AddSSHKeyOptions represents the available AddSSHKey() options.
GitLab API docs: https://docs.gitlab.com/api/user_keys/#add-an-ssh-key
type AddSnippetDiscussionNoteOptions ¶
type AddSnippetDiscussionNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}
AddSnippetDiscussionNoteOptions represents the available AddSnippetDiscussionNote() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#add-note-to-existing-snippet-thread
type AddSpentTimeOptions ¶
type AddSpentTimeOptions struct {
Duration *string `url:"duration,omitempty" json:"duration,omitempty"`
Summary *string `url:"summary,omitempty" json:"summary,omitempty"`
}
AddSpentTimeOptions represents the available AddSpentTime() options.
GitLab docs: https://docs.gitlab.com/api/issues/#add-spent-time-for-an-issue
type AdminCompliancePolicySettings ¶
type AdminCompliancePolicySettings struct {
CSPNamespaceID *int64 `json:"csp_namespace_id"`
}
AdminCompliancePolicySettings represents the GitLab admin compliance policy settings.
GitLab API docs: https://docs.gitlab.com/api/compliance_policy_settings/
func (AdminCompliancePolicySettings) String ¶
func (s AdminCompliancePolicySettings) String() string
type AdminCompliancePolicySettingsService ¶
type AdminCompliancePolicySettingsService struct {
// contains filtered or unexported fields
}
AdminCompliancePolicySettingsService handles communication with the admin compliance policy settings related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/compliance_policy_settings/
func (*AdminCompliancePolicySettingsService) GetCompliancePolicySettings ¶
func (s *AdminCompliancePolicySettingsService) GetCompliancePolicySettings(options ...RequestOptionFunc) (*AdminCompliancePolicySettings, *Response, error)
func (*AdminCompliancePolicySettingsService) UpdateCompliancePolicySettings ¶
func (s *AdminCompliancePolicySettingsService) UpdateCompliancePolicySettings(opt *UpdateAdminCompliancePolicySettingsOptions, options ...RequestOptionFunc) (*AdminCompliancePolicySettings, *Response, error)
type AdminCompliancePolicySettingsServiceInterface ¶
type AdminCompliancePolicySettingsServiceInterface interface {
// GetCompliancePolicySettings gets the current security policy settings for the GitLab instance.
//
// GitLab API docs:
// https://docs.gitlab.com/api/compliance_policy_settings/#get-security-policy-settings
GetCompliancePolicySettings(options ...RequestOptionFunc) (*AdminCompliancePolicySettings, *Response, error)
// UpdateCompliancePolicySettings updates the security policy settings for the GitLab instance.
//
// GitLab API docs:
// https://docs.gitlab.com/api/compliance_policy_settings/#update-security-policy-settings
UpdateCompliancePolicySettings(opt *UpdateAdminCompliancePolicySettingsOptions, options ...RequestOptionFunc) (*AdminCompliancePolicySettings, *Response, error)
}
type Agent ¶
type Agent struct {
ID int64 `json:"id"`
Name string `json:"name"`
CreatedAt *time.Time `json:"created_at"`
CreatedByUserID int64 `json:"created_by_user_id"`
ConfigProject ConfigProject `json:"config_project"`
}
Agent represents a GitLab agent for Kubernetes.
GitLab API docs: https://docs.gitlab.com/api/cluster_agents/
type AgentToken ¶
type AgentToken struct {
ID int64 `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
AgentID int64 `json:"agent_id"`
Status string `json:"status"`
CreatedAt *time.Time `json:"created_at"`
CreatedByUserID int64 `json:"created_by_user_id"`
LastUsedAt *time.Time `json:"last_used_at"`
Token string `json:"token"`
}
AgentToken represents a GitLab agent token.
GitLab API docs: https://docs.gitlab.com/api/cluster_agents/#list-tokens-for-an-agent
func (AgentToken) String ¶
func (a AgentToken) String() string
type AlertManagementService ¶
type AlertManagementService struct {
// contains filtered or unexported fields
}
AlertManagementService handles communication with the alert management related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/alert_management_alerts/
func (*AlertManagementService) DeleteMetricImage ¶
func (s *AlertManagementService) DeleteMetricImage(pid any, alertIID int64, id int64, options ...RequestOptionFunc) (*Response, error)
func (*AlertManagementService) ListMetricImages ¶
func (s *AlertManagementService) ListMetricImages(pid any, alertIID int64, opt *ListMetricImagesOptions, options ...RequestOptionFunc) ([]*MetricImage, *Response, error)
func (*AlertManagementService) UpdateMetricImage ¶
func (s *AlertManagementService) UpdateMetricImage(pid any, alertIID int64, id int64, opt *UpdateMetricImageOptions, options ...RequestOptionFunc) (*MetricImage, *Response, error)
func (*AlertManagementService) UploadMetricImage ¶
func (s *AlertManagementService) UploadMetricImage(pid any, alertIID int64, content io.Reader, filename string, opt *UploadMetricImageOptions, options ...RequestOptionFunc) (*MetricImage, *Response, error)
type AlertManagementServiceInterface ¶
type AlertManagementServiceInterface interface {
// UploadMetricImage uploads a metric image to a project alert.
//
// GitLab API docs:
// https://docs.gitlab.com/api/alert_management_alerts/#upload-metric-image
UploadMetricImage(pid any, alertIID int64, content io.Reader, filename string, opt *UploadMetricImageOptions, options ...RequestOptionFunc) (*MetricImage, *Response, error)
// ListMetricImages lists all the metric images for a project alert.
//
// GitLab API docs:
// https://docs.gitlab.com/api/alert_management_alerts/#list-all-metric-images
ListMetricImages(pid any, alertIID int64, opt *ListMetricImagesOptions, options ...RequestOptionFunc) ([]*MetricImage, *Response, error)
// UpdateMetricImage updates a metric image for a project alert.
//
// GitLab API docs:
// https://docs.gitlab.com/api/alert_management_alerts/#update-a-metric-image
UpdateMetricImage(pid any, alertIID int64, id int64, opt *UpdateMetricImageOptions, options ...RequestOptionFunc) (*MetricImage, *Response, error)
// DeleteMetricImage deletes a metric image for a project alert.
//
// GitLab API docs:
// https://docs.gitlab.com/api/alert_management_alerts/#delete-a-metric-image
DeleteMetricImage(pid any, alertIID int64, id int64, options ...RequestOptionFunc) (*Response, error)
}
type AllHeadersAuthStrategy ¶ added in v2.13.0
type AllHeadersAuthStrategy struct{}
AllHeadersAuthStrategy - The default implementation for v2 of package. With this authentication strategy, all token headers specified in the client will be passed in the request and GitLab will determine which token to use. This means that if both a Job Token and a Private Token are provided, both will be sent in the headers.
func (AllHeadersAuthStrategy) ApplyAuthHeader ¶ added in v2.13.0
func (d AllHeadersAuthStrategy) ApplyAuthHeader(authSource AuthSource, req *retryablehttp.Request) error
type Appearance ¶
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"`
MemberGuidelines string `json:"member_guidelines"`
NewProjectGuidelines string `json:"new_project_guidelines"`
ProfileImageGuidelines string `json:"profile_image_guidelines"`
HeaderMessage string `json:"header_message"`
MessageBackgroundColor string `json:"message_background_color"`
MessageFontColor string `json:"message_font_color"`
}
Appearance represents a GitLab appearance.
GitLab API docs: https://docs.gitlab.com/api/appearance/
type AppearanceService ¶
type AppearanceService struct {
// contains filtered or unexported fields
}
AppearanceService handles communication with appearance of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/appearance/
func (*AppearanceService) ChangeAppearance ¶
func (s *AppearanceService) ChangeAppearance(opt *ChangeAppearanceOptions, options ...RequestOptionFunc) (*Appearance, *Response, error)
func (*AppearanceService) GetAppearance ¶
func (s *AppearanceService) GetAppearance(options ...RequestOptionFunc) (*Appearance, *Response, error)
type AppearanceServiceInterface ¶
type AppearanceServiceInterface interface {
// GetAppearance gets the current appearance configuration of the GitLab instance.
//
// GitLab API docs:
// https://docs.gitlab.com/api/appearance/#get-details-on-current-application-appearance
GetAppearance(options ...RequestOptionFunc) (*Appearance, *Response, error)
// ChangeAppearance changes the appearance configuration.
//
// GitLab API docs:
// https://docs.gitlab.com/api/appearance/#update-application-appearance
ChangeAppearance(opt *ChangeAppearanceOptions, options ...RequestOptionFunc) (*Appearance, *Response, error)
}
type Application ¶
type Application struct {
ID int64 `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"`
}
Application represents a GitLab application
type ApplicationStatistics ¶
type ApplicationStatistics struct {
Forks int64 `url:"forks" json:"forks"`
Issues int64 `url:"issues" json:"issues"`
MergeRequests int64 `url:"merge_requests" json:"merge_requests"`
Notes int64 `url:"notes" json:"notes"`
Snippets int64 `url:"snippets" json:"snippets"`
SSHKeys int64 `url:"ssh_keys" json:"ssh_keys"`
Milestones int64 `url:"milestones" json:"milestones"`
Users int64 `url:"users" json:"users"`
Groups int64 `url:"groups" json:"groups"`
Projects int64 `url:"projects" json:"projects"`
ActiveUsers int64 `url:"active_users" json:"active_users"`
}
ApplicationStatistics represents application statistics.
GitLab API docs: https://docs.gitlab.com/api/statistics/
type ApplicationStatisticsService ¶
type ApplicationStatisticsService struct {
// contains filtered or unexported fields
}
ApplicationStatisticsService handles communication with the application statistics related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/statistics/
func (*ApplicationStatisticsService) GetApplicationStatistics ¶
func (s *ApplicationStatisticsService) GetApplicationStatistics(options ...RequestOptionFunc) (*ApplicationStatistics, *Response, error)
type ApplicationStatisticsServiceInterface ¶
type ApplicationStatisticsServiceInterface interface {
// GetApplicationStatistics gets details on the current application statistics.
//
// GitLab API docs:
// https://docs.gitlab.com/api/statistics/#get-details-on-current-application-statistics
GetApplicationStatistics(options ...RequestOptionFunc) (*ApplicationStatistics, *Response, error)
}
type ApplicationsService ¶
type ApplicationsService struct {
// contains filtered or unexported fields
}
ApplicationsService handles communication with administrables applications of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/applications/
func (*ApplicationsService) CreateApplication ¶
func (s *ApplicationsService) CreateApplication(opt *CreateApplicationOptions, options ...RequestOptionFunc) (*Application, *Response, error)
func (*ApplicationsService) DeleteApplication ¶
func (s *ApplicationsService) DeleteApplication(application int64, options ...RequestOptionFunc) (*Response, error)
func (*ApplicationsService) ListApplications ¶
func (s *ApplicationsService) ListApplications(opt *ListApplicationsOptions, options ...RequestOptionFunc) ([]*Application, *Response, error)
type ApplicationsServiceInterface ¶
type ApplicationsServiceInterface interface {
// CreateApplication creates a new application owned by the authenticated user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/applications/#create-an-application
CreateApplication(opt *CreateApplicationOptions, options ...RequestOptionFunc) (*Application, *Response, error)
// ListApplications get a list of administrables applications by the authenticated user
//
// GitLab API docs:
// https://docs.gitlab.com/api/applications/#list-all-applications
ListApplications(opt *ListApplicationsOptions, options ...RequestOptionFunc) ([]*Application, *Response, error)
// DeleteApplication removes a specific application.
//
// GitLab API docs:
// https://docs.gitlab.com/api/applications/#delete-an-application
DeleteApplication(application int64, options ...RequestOptionFunc) (*Response, error)
}
type ApproveAccessRequestOptions ¶
type ApproveAccessRequestOptions struct {
AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
}
ApproveAccessRequestOptions represents the available ApproveProjectAccessRequest() and ApproveGroupAccessRequest() options.
GitLab API docs: https://docs.gitlab.com/api/access_requests/#approve-an-access-request
type ApproveMergeRequestOptions ¶
type ApproveMergeRequestOptions struct {
SHA *string `url:"sha,omitempty" json:"sha,omitempty"`
}
ApproveMergeRequestOptions represents the available ApproveMergeRequest() options.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#approve-merge-request
type ApproveOrRejectProjectDeploymentOptions ¶
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"`
}
ApproveOrRejectProjectDeploymentOptions represents the available ApproveOrRejectProjectDeployment() options.
GitLab API docs: https://docs.gitlab.com/api/deployments/#approve-or-reject-a-blocked-deployment
type ApproverIDsValue ¶
type ApproverIDsValue struct {
// contains filtered or unexported fields
}
ApproverIDsValue represents an approver ID value within GitLab.
func ApproverIDs ¶
func ApproverIDs(v any) *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 ¶
type ArchiveOptions struct {
Format *string `url:"-" json:"-"`
Path *string `url:"path,omitempty" json:"path,omitempty"`
SHA *string `url:"sha,omitempty" json:"sha,omitempty"`
}
ArchiveOptions represents the available Archive() options.
GitLab API docs: https://docs.gitlab.com/api/repositories/#get-file-archive
type AssigneeIDValue ¶
type AssigneeIDValue struct {
// contains filtered or unexported fields
}
AssigneeIDValue represents an assignee ID value within GitLab.
func AssigneeID ¶
func AssigneeID(v any) *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 Attestation ¶
type Attestation struct {
ID int64 `json:"id"`
IID int64 `json:"iid"`
ProjectID int64 `json:"project_id"`
BuildID int64 `json:"build_id"`
Status string `json:"status"`
CreatedAt *time.Time `json:"created_at"`
UpdatedAt *time.Time `json:"updated_at"`
ExpireAt *time.Time `json:"expire_at"`
PredicateKind string `json:"predicate_kind"`
PredicateType string `json:"predicate_type"`
SubjectDigest string `json:"subject_digest"`
DownloadURL string `json:"download_url"`
}
type AttestationsService ¶
type AttestationsService struct {
// contains filtered or unexported fields
}
AttestationsService handles communication with the keys related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/attestations
func (*AttestationsService) DownloadAttestation ¶
func (s *AttestationsService) DownloadAttestation(pid any, attestationIID int64, options ...RequestOptionFunc) ([]byte, *Response, error)
func (*AttestationsService) ListAttestations ¶
func (s *AttestationsService) ListAttestations(pid any, subjectDigest string, options ...RequestOptionFunc) ([]*Attestation, *Response, error)
type AttestationsServiceInterface ¶
type AttestationsServiceInterface interface {
// ListAttestations gets a list of all attestations
//
// GitLab API docs: https://docs.gitlab.com/api/attestations/#list-all-attestations
ListAttestations(pid any, subjectDigest string, options ...RequestOptionFunc) ([]*Attestation, *Response, error)
// DownloadAttestation
//
// GitLab API docs: https://docs.gitlab.com/api/attestations/#download-an-attestation
DownloadAttestation(pid any, attestationIID int64, options ...RequestOptionFunc) ([]byte, *Response, error)
}
type AuditEvent ¶
type AuditEvent struct {
ID int64 `json:"id"`
AuthorID int64 `json:"author_id"`
EntityID int64 `json:"entity_id"`
EntityType string `json:"entity_type"`
EventName string `json:"event_name"`
Details AuditEventDetails `json:"details"`
CreatedAt *time.Time `json:"created_at"`
EventType string `json:"event_type"`
}
AuditEvent represents an audit event for a group, a project or the instance.
GitLab API docs: https://docs.gitlab.com/api/audit_events/
type AuditEventDetails ¶
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 any `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"`
EventName string `json:"event_name"`
}
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/api/audit_events/
type AuditEventsService ¶
type AuditEventsService struct {
// contains filtered or unexported fields
}
AuditEventsService handles communication with the project/group/instance audit event related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/audit_events/
func (*AuditEventsService) GetGroupAuditEvent ¶
func (s *AuditEventsService) GetGroupAuditEvent(gid any, event int64, options ...RequestOptionFunc) (*AuditEvent, *Response, error)
func (*AuditEventsService) GetInstanceAuditEvent ¶
func (s *AuditEventsService) GetInstanceAuditEvent(event int64, options ...RequestOptionFunc) (*AuditEvent, *Response, error)
func (*AuditEventsService) GetProjectAuditEvent ¶
func (s *AuditEventsService) GetProjectAuditEvent(pid any, event int64, options ...RequestOptionFunc) (*AuditEvent, *Response, error)
func (*AuditEventsService) ListGroupAuditEvents ¶
func (s *AuditEventsService) ListGroupAuditEvents(gid any, opt *ListAuditEventsOptions, options ...RequestOptionFunc) ([]*AuditEvent, *Response, error)
func (*AuditEventsService) ListInstanceAuditEvents ¶
func (s *AuditEventsService) ListInstanceAuditEvents(opt *ListAuditEventsOptions, options ...RequestOptionFunc) ([]*AuditEvent, *Response, error)
func (*AuditEventsService) ListProjectAuditEvents ¶
func (s *AuditEventsService) ListProjectAuditEvents(pid any, opt *ListAuditEventsOptions, options ...RequestOptionFunc) ([]*AuditEvent, *Response, error)
type AuditEventsServiceInterface ¶
type AuditEventsServiceInterface interface {
// ListInstanceAuditEvents gets a list of audit events for instance.
// Authentication as Administrator is required.
//
// GitLab API docs:
// https://docs.gitlab.com/api/audit_events/#retrieve-all-instance-audit-events
// ListInstanceAuditEvents gets a list of audit events for instance.
// Authentication as Administrator is required.
//
// GitLab API docs:
// https://docs.gitlab.com/api/audit_events/#retrieve-all-instance-audit-events
ListInstanceAuditEvents(opt *ListAuditEventsOptions, options ...RequestOptionFunc) ([]*AuditEvent, *Response, error)
// GetInstanceAuditEvent gets a specific instance audit event.
// Authentication as Administrator is required.
//
// GitLab API docs:
// https://docs.gitlab.com/api/audit_events/#retrieve-single-instance-audit-event
GetInstanceAuditEvent(event int64, 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/api/audit_events/#retrieve-all-group-audit-events
ListGroupAuditEvents(gid any, opt *ListAuditEventsOptions, options ...RequestOptionFunc) ([]*AuditEvent, *Response, error)
// GetGroupAuditEvent gets a specific group audit event.
//
// GitLab API docs: https://docs.gitlab.com/api/audit_events/#retrieve-a-specific-group-audit-event
GetGroupAuditEvent(gid any, event int64, 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/api/audit_events/#retrieve-all-project-audit-events
ListProjectAuditEvents(pid any, opt *ListAuditEventsOptions, options ...RequestOptionFunc) ([]*AuditEvent, *Response, error)
// GetProjectAuditEvent gets a specific project audit event.
//
// GitLab API docs: https://docs.gitlab.com/api/audit_events/#retrieve-a-specific-project-audit-event
GetProjectAuditEvent(pid any, event int64, options ...RequestOptionFunc) (*AuditEvent, *Response, error)
}
type AuthSource ¶
type AuthSource interface {
// Init is called once before making any requests.
// If the token source needs access to client to initialize itself, it should do so here.
Init(context.Context, *Client) error
// Header returns an authentication header. When no error is returned, the
// key and value should never be empty.
Header(ctx context.Context) (key, value string, err error)
}
AuthSource is used to obtain access tokens.
type AuthTokenStrategy ¶ added in v2.13.0
type AuthTokenStrategy interface {
ApplyAuthHeader(authSource AuthSource, req *retryablehttp.Request) error
}
AuthTokenStrategy - Specifies a strategy that injects authorization headers from the AuthSource.
type AuthType ¶
type AuthType int
AuthType represents an authentication type within GitLab.
GitLab API docs: https://docs.gitlab.com/api/
List of available authentication types.
GitLab API docs: https://docs.gitlab.com/api/
type Author ¶
type Author struct {
ID int64 `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"`
}
Author represents a GitLab commit author
type AvailabilityValue ¶
type AvailabilityValue string
AvailabilityValue represents an availability value within GitLab.
const ( NotSet AvailabilityValue = "not_set" Busy AvailabilityValue = "busy" )
List of available availability values.
Undocumented, see code at: https://gitlab.com/gitlab-org/gitlab-foss/-/blob/master/app/models/user_status.rb#L22
type Avatar ¶
type Avatar struct {
AvatarURL string `json:"avatar_url"`
}
Avatar represents a GitLab avatar.
GitLab API docs: https://docs.gitlab.com/api/avatar/
type AvatarRequestsService ¶
type AvatarRequestsService struct {
// contains filtered or unexported fields
}
AvatarRequestsService handles communication with the avatar related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/avatar/
func (*AvatarRequestsService) GetAvatar ¶
func (s *AvatarRequestsService) GetAvatar(opt *GetAvatarOptions, options ...RequestOptionFunc) (*Avatar, *Response, error)
type AvatarRequestsServiceInterface ¶
type AvatarRequestsServiceInterface interface {
// GetAvatar gets the avatar URL for a user with the given email address.
//
// GitLab API docs:
// https://docs.gitlab.com/api/avatar/#get-details-on-an-account-avatar
GetAvatar(opt *GetAvatarOptions, options ...RequestOptionFunc) (*Avatar, *Response, error)
}
type AwardEmoji ¶
type AwardEmoji struct {
ID int64 `json:"id"`
Name string `json:"name"`
User BasicUser `json:"user"`
CreatedAt *time.Time `json:"created_at"`
UpdatedAt *time.Time `json:"updated_at"`
AwardableID int64 `json:"awardable_id"`
AwardableType string `json:"awardable_type"`
}
AwardEmoji represents a GitLab Award Emoji.
GitLab API docs: https://docs.gitlab.com/api/emoji_reactions/
type AwardEmojiService ¶
type AwardEmojiService struct {
// contains filtered or unexported fields
}
AwardEmojiService handles communication with the emoji awards related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/emoji_reactions/
func (*AwardEmojiService) CreateIssueAwardEmoji ¶
func (s *AwardEmojiService) CreateIssueAwardEmoji(pid any, issueIID int64, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
func (*AwardEmojiService) CreateIssuesAwardEmojiOnNote ¶
func (s *AwardEmojiService) CreateIssuesAwardEmojiOnNote(pid any, issueID, noteID int64, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
func (*AwardEmojiService) CreateMergeRequestAwardEmoji ¶
func (s *AwardEmojiService) CreateMergeRequestAwardEmoji(pid any, mergeRequestIID int64, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
func (*AwardEmojiService) CreateMergeRequestAwardEmojiOnNote ¶
func (s *AwardEmojiService) CreateMergeRequestAwardEmojiOnNote(pid any, mergeRequestIID, noteID int64, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
func (*AwardEmojiService) CreateSnippetAwardEmoji ¶
func (s *AwardEmojiService) CreateSnippetAwardEmoji(pid any, snippetID int64, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
func (*AwardEmojiService) CreateSnippetAwardEmojiOnNote ¶
func (s *AwardEmojiService) CreateSnippetAwardEmojiOnNote(pid any, snippetIID, noteID int64, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
func (*AwardEmojiService) DeleteIssueAwardEmoji ¶
func (s *AwardEmojiService) DeleteIssueAwardEmoji(pid any, issueIID, awardID int64, options ...RequestOptionFunc) (*Response, error)
func (*AwardEmojiService) DeleteIssuesAwardEmojiOnNote ¶
func (s *AwardEmojiService) DeleteIssuesAwardEmojiOnNote(pid any, issueID, noteID, awardID int64, options ...RequestOptionFunc) (*Response, error)
func (*AwardEmojiService) DeleteMergeRequestAwardEmoji ¶
func (s *AwardEmojiService) DeleteMergeRequestAwardEmoji(pid any, mergeRequestIID, awardID int64, options ...RequestOptionFunc) (*Response, error)
func (*AwardEmojiService) DeleteMergeRequestAwardEmojiOnNote ¶
func (s *AwardEmojiService) DeleteMergeRequestAwardEmojiOnNote(pid any, mergeRequestIID, noteID, awardID int64, options ...RequestOptionFunc) (*Response, error)
func (*AwardEmojiService) DeleteSnippetAwardEmoji ¶
func (s *AwardEmojiService) DeleteSnippetAwardEmoji(pid any, snippetID, awardID int64, options ...RequestOptionFunc) (*Response, error)
func (*AwardEmojiService) DeleteSnippetAwardEmojiOnNote ¶
func (s *AwardEmojiService) DeleteSnippetAwardEmojiOnNote(pid any, snippetIID, noteID, awardID int64, options ...RequestOptionFunc) (*Response, error)
func (*AwardEmojiService) GetIssueAwardEmoji ¶
func (s *AwardEmojiService) GetIssueAwardEmoji(pid any, issueIID, awardID int64, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
func (*AwardEmojiService) GetIssuesAwardEmojiOnNote ¶
func (s *AwardEmojiService) GetIssuesAwardEmojiOnNote(pid any, issueID, noteID, awardID int64, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
func (*AwardEmojiService) GetMergeRequestAwardEmoji ¶
func (s *AwardEmojiService) GetMergeRequestAwardEmoji(pid any, mergeRequestIID, awardID int64, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
func (*AwardEmojiService) GetMergeRequestAwardEmojiOnNote ¶
func (s *AwardEmojiService) GetMergeRequestAwardEmojiOnNote(pid any, mergeRequestIID, noteID, awardID int64, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
func (*AwardEmojiService) GetSnippetAwardEmoji ¶
func (s *AwardEmojiService) GetSnippetAwardEmoji(pid any, snippetID, awardID int64, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
func (*AwardEmojiService) GetSnippetAwardEmojiOnNote ¶
func (s *AwardEmojiService) GetSnippetAwardEmojiOnNote(pid any, snippetIID, noteID, awardID int64, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
func (*AwardEmojiService) ListIssueAwardEmoji ¶
func (s *AwardEmojiService) ListIssueAwardEmoji(pid any, issueIID int64, opt *ListAwardEmojiOptions, options ...RequestOptionFunc) ([]*AwardEmoji, *Response, error)
func (*AwardEmojiService) ListIssuesAwardEmojiOnNote ¶
func (s *AwardEmojiService) ListIssuesAwardEmojiOnNote(pid any, issueID, noteID int64, opt *ListAwardEmojiOptions, options ...RequestOptionFunc) ([]*AwardEmoji, *Response, error)
func (*AwardEmojiService) ListMergeRequestAwardEmoji ¶
func (s *AwardEmojiService) ListMergeRequestAwardEmoji(pid any, mergeRequestIID int64, opt *ListAwardEmojiOptions, options ...RequestOptionFunc) ([]*AwardEmoji, *Response, error)
func (*AwardEmojiService) ListMergeRequestAwardEmojiOnNote ¶
func (s *AwardEmojiService) ListMergeRequestAwardEmojiOnNote(pid any, mergeRequestIID, noteID int64, opt *ListAwardEmojiOptions, options ...RequestOptionFunc) ([]*AwardEmoji, *Response, error)
func (*AwardEmojiService) ListSnippetAwardEmoji ¶
func (s *AwardEmojiService) ListSnippetAwardEmoji(pid any, snippetID int64, opt *ListAwardEmojiOptions, options ...RequestOptionFunc) ([]*AwardEmoji, *Response, error)
func (*AwardEmojiService) ListSnippetAwardEmojiOnNote ¶
func (s *AwardEmojiService) ListSnippetAwardEmojiOnNote(pid any, snippetIID, noteID int64, opt *ListAwardEmojiOptions, options ...RequestOptionFunc) ([]*AwardEmoji, *Response, error)
type AwardEmojiServiceInterface ¶
type AwardEmojiServiceInterface interface {
// ListMergeRequestAwardEmoji gets a list of all award emoji on the merge request.
//
// GitLab API docs:
// https://docs.gitlab.com/api/emoji_reactions/#list-an-awardables-emoji-reactions
ListMergeRequestAwardEmoji(pid any, mergeRequestIID int64, 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/api/emoji_reactions/#list-an-awardables-emoji-reactions
ListIssueAwardEmoji(pid any, issueIID int64, 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/api/emoji_reactions/#list-an-awardables-emoji-reactions
ListSnippetAwardEmoji(pid any, snippetID int64, opt *ListAwardEmojiOptions, options ...RequestOptionFunc) ([]*AwardEmoji, *Response, error)
// GetMergeRequestAwardEmoji get an award emoji from merge request.
//
// GitLab API docs:
// https://docs.gitlab.com/api/emoji_reactions/#get-single-emoji-reaction
GetMergeRequestAwardEmoji(pid any, mergeRequestIID, awardID int64, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
// GetIssueAwardEmoji get an award emoji from issue.
//
// GitLab API docs:
// https://docs.gitlab.com/api/emoji_reactions/#get-single-emoji-reaction
GetIssueAwardEmoji(pid any, issueIID, awardID int64, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
// GetSnippetAwardEmoji get an award emoji from snippet.
//
// GitLab API docs:
// https://docs.gitlab.com/api/emoji_reactions/#get-single-emoji-reaction
GetSnippetAwardEmoji(pid any, snippetID, awardID int64, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
// CreateMergeRequestAwardEmoji get an award emoji from merge request.
//
// GitLab API docs:
// https://docs.gitlab.com/api/emoji_reactions/#add-a-new-emoji-reaction
CreateMergeRequestAwardEmoji(pid any, mergeRequestIID int64, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
// CreateIssueAwardEmoji get an award emoji from issue.
//
// GitLab API docs:
// https://docs.gitlab.com/api/emoji_reactions/#add-a-new-emoji-reaction
CreateIssueAwardEmoji(pid any, issueIID int64, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
// CreateSnippetAwardEmoji get an award emoji from snippet.
//
// GitLab API docs:
// https://docs.gitlab.com/api/emoji_reactions/#add-a-new-emoji-reaction
CreateSnippetAwardEmoji(pid any, snippetID int64, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
// DeleteIssueAwardEmoji delete award emoji on an issue.
//
// GitLab API docs:
// https://docs.gitlab.com/api/emoji_reactions/#delete-an-emoji-reaction
DeleteIssueAwardEmoji(pid any, issueIID, awardID int64, options ...RequestOptionFunc) (*Response, error)
// DeleteMergeRequestAwardEmoji delete award emoji on a merge request.
//
// GitLab API docs:
// https://docs.gitlab.com/api/emoji_reactions/#delete-an-emoji-reaction
DeleteMergeRequestAwardEmoji(pid any, mergeRequestIID, awardID int64, options ...RequestOptionFunc) (*Response, error)
// DeleteSnippetAwardEmoji delete award emoji on a snippet.
//
// GitLab API docs:
// https://docs.gitlab.com/api/emoji_reactions/#delete-an-emoji-reaction
DeleteSnippetAwardEmoji(pid any, snippetID, awardID int64, options ...RequestOptionFunc) (*Response, error)
// ListIssuesAwardEmojiOnNote gets a list of all award emoji on a note from the
// issue.
//
// GitLab API docs:
// https://docs.gitlab.com/api/emoji_reactions/#list-a-comments-emoji-reactions
ListIssuesAwardEmojiOnNote(pid any, issueID, noteID int64, 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/api/emoji_reactions/#list-a-comments-emoji-reactions
ListMergeRequestAwardEmojiOnNote(pid any, mergeRequestIID, noteID int64, 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/api/emoji_reactions/#list-a-comments-emoji-reactions
ListSnippetAwardEmojiOnNote(pid any, snippetIID, noteID int64, opt *ListAwardEmojiOptions, options ...RequestOptionFunc) ([]*AwardEmoji, *Response, error)
// GetIssuesAwardEmojiOnNote gets an award emoji on a note from an issue.
//
// GitLab API docs:
// https://docs.gitlab.com/api/emoji_reactions/#get-an-emoji-reaction-for-a-comment
GetIssuesAwardEmojiOnNote(pid any, issueID, noteID, awardID int64, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
// GetMergeRequestAwardEmojiOnNote gets an award emoji on a note from a
// merge request.
//
// GitLab API docs:
// https://docs.gitlab.com/api/emoji_reactions/#get-an-emoji-reaction-for-a-comment
GetMergeRequestAwardEmojiOnNote(pid any, mergeRequestIID, noteID, awardID int64, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
// GetSnippetAwardEmojiOnNote gets an award emoji on a note from a snippet.
//
// GitLab API docs:
// https://docs.gitlab.com/api/emoji_reactions/#get-an-emoji-reaction-for-a-comment
GetSnippetAwardEmojiOnNote(pid any, snippetIID, noteID, awardID int64, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
// CreateIssuesAwardEmojiOnNote gets an award emoji on a note from an issue.
//
// GitLab API docs:
// https://docs.gitlab.com/api/emoji_reactions/#add-a-new-emoji-reaction-to-a-comment
CreateIssuesAwardEmojiOnNote(pid any, issueID, noteID int64, 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/api/emoji_reactions/#add-a-new-emoji-reaction-to-a-comment
CreateMergeRequestAwardEmojiOnNote(pid any, mergeRequestIID, noteID int64, 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/api/emoji_reactions/#add-a-new-emoji-reaction-to-a-comment
CreateSnippetAwardEmojiOnNote(pid any, snippetIID, noteID int64, opt *CreateAwardEmojiOptions, options ...RequestOptionFunc) (*AwardEmoji, *Response, error)
// DeleteIssuesAwardEmojiOnNote deletes an award emoji on a note from an issue.
//
// GitLab API docs:
// https://docs.gitlab.com/api/emoji_reactions/#delete-an-emoji-reaction-from-a-comment
DeleteIssuesAwardEmojiOnNote(pid any, issueID, noteID, awardID int64, options ...RequestOptionFunc) (*Response, error)
// DeleteMergeRequestAwardEmojiOnNote deletes an award emoji on a note from a
// merge request.
//
// GitLab API docs:
// https://docs.gitlab.com/api/emoji_reactions/#delete-an-emoji-reaction-from-a-comment
DeleteMergeRequestAwardEmojiOnNote(pid any, mergeRequestIID, noteID, awardID int64, options ...RequestOptionFunc) (*Response, error)
// DeleteSnippetAwardEmojiOnNote deletes an award emoji on a note from a snippet.
//
// GitLab API docs:
// https://docs.gitlab.com/api/emoji_reactions/#delete-an-emoji-reaction-from-a-comment
DeleteSnippetAwardEmojiOnNote(pid any, snippetIID, noteID, awardID int64, options ...RequestOptionFunc) (*Response, error)
}
type BaseSystemEvent ¶
type BaseSystemEvent struct {
EventName string `json:"event_name"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
}
BaseSystemEvent contains system hook's common properties.
GitLab API docs: https://docs.gitlab.com/administration/system_hooks/
type BasicMergeRequest ¶
type BasicMergeRequest struct {
ID int64 `json:"id"`
IID int64 `json:"iid"`
TargetBranch string `json:"target_branch"`
SourceBranch string `json:"source_branch"`
ProjectID int64 `json:"project_id"`
Title string `json:"title"`
State string `json:"state"`
Imported bool `json:"imported"`
ImportedFrom string `json:"imported_from"`
CreatedAt *time.Time `json:"created_at"`
UpdatedAt *time.Time `json:"updated_at"`
Upvotes int64 `json:"upvotes"`
Downvotes int64 `json:"downvotes"`
Author *BasicUser `json:"author"`
Assignee *BasicUser `json:"assignee"`
Assignees []*BasicUser `json:"assignees"`
Reviewers []*BasicUser `json:"reviewers"`
SourceProjectID int64 `json:"source_project_id"`
TargetProjectID int64 `json:"target_project_id"`
Labels Labels `json:"labels"`
LabelDetails []*LabelDetails `json:"label_details"`
Description string `json:"description"`
Draft bool `json:"draft"`
Milestone *Milestone `json:"milestone"`
MergeWhenPipelineSucceeds bool `json:"merge_when_pipeline_succeeds"`
DetailedMergeStatus string `json:"detailed_merge_status"`
MergeUser *BasicUser `json:"merge_user"`
MergedAt *time.Time `json:"merged_at"`
MergeAfter *time.Time `json:"merge_after"`
PreparedAt *time.Time `json:"prepared_at"`
ClosedBy *BasicUser `json:"closed_by"`
ClosedAt *time.Time `json:"closed_at"`
SHA string `json:"sha"`
MergeCommitSHA string `json:"merge_commit_sha"`
SquashCommitSHA string `json:"squash_commit_sha"`
UserNotesCount int64 `json:"user_notes_count"`
ShouldRemoveSourceBranch bool `json:"should_remove_source_branch"`
ForceRemoveSourceBranch bool `json:"force_remove_source_branch"`
AllowCollaboration bool `json:"allow_collaboration"`
AllowMaintainerToPush bool `json:"allow_maintainer_to_push"`
WebURL string `json:"web_url"`
References *IssueReferences `json:"references"`
DiscussionLocked bool `json:"discussion_locked"`
TimeStats *TimeStats `json:"time_stats"`
Squash bool `json:"squash"`
SquashOnMerge bool `json:"squash_on_merge"`
TaskCompletionStatus *TasksCompletionStatus `json:"task_completion_status"`
HasConflicts bool `json:"has_conflicts"`
BlockingDiscussionsResolved bool `json:"blocking_discussions_resolved"`
// Deprecated: will be removed in v5 of the API, use MergeUser instead
MergedBy *BasicUser `json:"merged_by"`
}
BasicMergeRequest represents a basic GitLab merge request.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/
func (BasicMergeRequest) String ¶
func (m BasicMergeRequest) String() string
type BasicProject ¶
type BasicProject struct {
ID int64 `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"`
}
BasicProject included in other service responses (such as todos).
type BasicUser ¶
type BasicUser struct {
ID int64 `json:"id"`
Username string `json:"username"`
Name string `json:"name"`
// State represents the administrative status of the user account.
// Common values: "active", "blocked", "deactivated", "banned",
// "ldap_blocked", "blocked_pending_approval".
State string `json:"state"`
CreatedAt *time.Time `json:"created_at"`
AvatarURL string `json:"avatar_url"`
WebURL string `json:"web_url"`
}
BasicUser included in other service responses (such as merge requests, pipelines, etc).
type BillableGroupMember ¶
type BillableGroupMember struct {
ID int64 `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"`
}
BillableGroupMember represents a GitLab billable group member.
GitLab API docs: https://docs.gitlab.com/api/members/#list-all-billable-members-of-a-group
type BillableUserMembership ¶
type BillableUserMembership struct {
ID int64 `json:"id"`
SourceID int64 `json:"source_id"`
SourceFullName string `json:"source_full_name"`
SourceMembersURL string `json:"source_members_url"`
CreatedAt *time.Time `json:"created_at"`
ExpiresAt *ISOTime `json:"expires_at"`
AccessLevel *AccessLevelDetails `json:"access_level"`
}
BillableUserMembership represents a Membership of a billable user of a group
GitLab API docs: https://docs.gitlab.com/api/members/#list-memberships-for-a-billable-member-of-a-group
type BitbucketCloudImport ¶
type BitbucketCloudImport struct {
ID int64 `json:"id"`
Name string `json:"name"`
FullPath string `json:"full_path"`
FullName string `json:"full_name"`
RefsURL string `json:"refs_url"`
ImportSource string `json:"import_source"`
ImportStatus string `json:"import_status"`
HumanImportStatusName string `json:"human_import_status_name"`
ProviderLink string `json:"provider_link"`
RelationType string `json:"relation_type"`
ImportWarning string `json:"import_warning"`
}
BitbucketCloudImport represents the response from an import from Bitbucket Cloud.
GitLab API docs: https://docs.gitlab.com/api/import/#import-repository-from-bitbucket-cloud
func (BitbucketCloudImport) String ¶
func (s BitbucketCloudImport) String() string
type BitbucketServerImport ¶
type BitbucketServerImport struct {
ID int64 `json:"id"`
Name string `json:"name"`
FullPath string `json:"full_path"`
FullName string `json:"full_name"`
RefsURL string `json:"refs_url"`
}
BitbucketServerImport represents the response from an import from Bitbucket Server.
GitLab API docs: https://docs.gitlab.com/api/import/#import-repository-from-bitbucket-server
func (BitbucketServerImport) String ¶
func (s BitbucketServerImport) String() string
type 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 int64 `json:"startline"`
ProjectID int64 `json:"project_id"`
}
Blob represents a single blob.
type BlockingMergeRequest ¶
type BlockingMergeRequest struct {
ID int64 `json:"id"`
Iid int64 `json:"iid"`
TargetBranch string `json:"target_branch"`
SourceBranch string `json:"source_branch"`
ProjectID int64 `json:"project_id"`
Title string `json:"title"`
State string `json:"state"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
Upvotes int64 `json:"upvotes"`
Downvotes int64 `json:"downvotes"`
Author *BasicUser `json:"author"`
Assignee *BasicUser `json:"assignee"`
Assignees []*BasicUser `json:"assignees"`
Reviewers []*BasicUser `json:"reviewers"`
SourceProjectID int64 `json:"source_project_id"`
TargetProjectID int64 `json:"target_project_id"`
Labels *LabelOptions `json:"labels"`
Description string `json:"description"`
Draft bool `json:"draft"`
Milestone *string `json:"milestone"`
AutoMerge bool `json:"auto_merge"`
DetailedMergeStatus string `json:"detailed_merge_status"`
MergedAt *time.Time `json:"merged_at"`
ClosedBy *BasicUser `json:"closed_by"`
ClosedAt *time.Time `json:"closed_at"`
Sha string `json:"sha"`
MergeCommitSha string `json:"merge_commit_sha"`
SquashCommitSha string `json:"squash_commit_sha"`
UserNotesCount int64 `json:"user_notes_count"`
ShouldRemoveSourceBranch *bool `json:"should_remove_source_branch"`
ForceRemoveSourceBranch bool `json:"force_remove_source_branch"`
WebURL string `json:"web_url"`
References *IssueReferences `json:"references"`
DiscussionLocked *bool `json:"discussion_locked"`
TimeStats *TimeStats `json:"time_stats"`
Squash bool `json:"squash"`
TaskCompletionStatus *TasksCompletionStatus `json:"task_completion_status"`
HasConflicts bool `json:"has_conflicts"`
BlockingDiscussionsResolved bool `json:"blocking_discussions_resolved"`
MergeUser *BasicUser `json:"merge_user"`
MergeAfter time.Time `json:"merge_after"`
Imported bool `json:"imported"`
ImportedFrom string `json:"imported_from"`
PreparedAt *time.Time `json:"prepared_at"`
SquashOnMerge bool `json:"squash_on_merge"`
// Deprecated: use Draft instead
WorkInProgress bool `json:"work_in_progress"`
// Deprecated: will be removed in v5 of the API, use AutoMerge instead
MergeWhenPipelineSucceeds bool `json:"merge_when_pipeline_succeeds"`
// Deprecated: will be removed in v5 of the API, use MergeUser instead
MergedBy *BasicUser `json:"merged_by"`
// Deprecated: will be removed in v5 of the API, use the Merge Request Approvals API instead
ApprovalsBeforeMerge *int64 `json:"approvals_before_merge"`
// Deprecated: will be removed in v5 of the API, use References instead
Reference string `json:"reference"`
// Deprecated: in 15.6, use DetailedMergeStatus instead
MergeStatus string `json:"merge_status"`
}
BlockingMergeRequest represents a GitLab merge request dependency.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#create-a-merge-request-dependency
type BoardList ¶
type BoardList struct {
ID int64 `json:"id"`
Assignee *BoardListAssignee `json:"assignee"`
Iteration *ProjectIteration `json:"iteration"`
Label *Label `json:"label"`
MaxIssueCount int64 `json:"max_issue_count"`
MaxIssueWeight int64 `json:"max_issue_weight"`
Milestone *Milestone `json:"milestone"`
Position int64 `json:"position"`
}
BoardList represents a GitLab board list.
GitLab API docs: https://docs.gitlab.com/api/boards/
type BoardListAssignee ¶
type BoardListAssignee struct {
ID int64 `json:"id"`
Name string `json:"name"`
Username string `json:"username"`
}
BoardListAssignee represents a GitLab board list assignee.
GitLab API docs: https://docs.gitlab.com/api/boards/
func (BoardListAssignee) String ¶
func (a BoardListAssignee) String() string
type BoolValue ¶
type BoolValue bool
BoolValue is a boolean value with advanced json unmarshaling features.
func (*BoolValue) UnmarshalJSON ¶
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 ¶
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"`
}
Branch represents a GitLab branch.
GitLab API docs: https://docs.gitlab.com/api/branches/
type BranchAccessDescription ¶
type BranchAccessDescription struct {
ID int64 `json:"id"`
AccessLevel AccessLevelValue `json:"access_level"`
AccessLevelDescription string `json:"access_level_description"`
DeployKeyID int64 `json:"deploy_key_id"`
UserID int64 `json:"user_id"`
GroupID int64 `json:"group_id"`
}
BranchAccessDescription represents the access description for a protected branch.
GitLab API docs: https://docs.gitlab.com/api/protected_branches/#list-protected-branches
type BranchPermissionOptions ¶
type BranchPermissionOptions struct {
ID *int64 `url:"id,omitempty" json:"id,omitempty"`
UserID *int64 `url:"user_id,omitempty" json:"user_id,omitempty"`
GroupID *int64 `url:"group_id,omitempty" json:"group_id,omitempty"`
DeployKeyID *int64 `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"`
}
BranchPermissionOptions represents a branch permission option.
GitLab API docs: https://docs.gitlab.com/api/protected_branches/#protect-repository-branches
type BranchProtectionDefaults ¶
type BranchProtectionDefaults struct {
AllowedToPush []*GroupAccessLevel `json:"allowed_to_push,omitempty"`
AllowForcePush bool `json:"allow_force_push,omitempty"`
AllowedToMerge []*GroupAccessLevel `json:"allowed_to_merge,omitempty"`
DeveloperCanInitialPush bool `json:"developer_can_initial_push,omitempty"`
CodeOwnerApprovalRequired bool `json:"code_owner_approval_required,omitempty"`
}
BranchProtectionDefaults represents default Git protected branch permissions.
GitLab API docs: https://docs.gitlab.com/api/groups/#options-for-default_branch_protection_defaults
type BranchProtectionDefaultsOptions ¶
type BranchProtectionDefaultsOptions struct {
AllowedToPush *[]int64 `url:"allowed_to_push,omitempty" json:"allowed_to_push,omitempty"`
AllowForcePush *bool `url:"allow_force_push,omitempty" json:"allow_force_push,omitempty"`
AllowedToMerge *[]int64 `url:"allowed_to_merge,omitempty" json:"allowed_to_merge,omitempty"`
DeveloperCanInitialPush *bool `url:"developer_can_initial_push,omitempty" json:"developer_can_initial_push,omitempty"`
}
BranchProtectionDefaultsOptions represents default Git protected branch permissions options.
GitLab API docs: https://docs.gitlab.com/api/groups/#options-for-default_branch_protection_defaults
type BranchesService ¶
type BranchesService struct {
// contains filtered or unexported fields
}
BranchesService handles communication with the branch related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/branches/
func (*BranchesService) CreateBranch ¶
func (s *BranchesService) CreateBranch(pid any, opt *CreateBranchOptions, options ...RequestOptionFunc) (*Branch, *Response, error)
func (*BranchesService) DeleteBranch ¶
func (s *BranchesService) DeleteBranch(pid any, branch string, options ...RequestOptionFunc) (*Response, error)
func (*BranchesService) DeleteMergedBranches ¶
func (s *BranchesService) DeleteMergedBranches(pid any, options ...RequestOptionFunc) (*Response, error)
func (*BranchesService) GetBranch ¶
func (s *BranchesService) GetBranch(pid any, branch string, options ...RequestOptionFunc) (*Branch, *Response, error)
func (*BranchesService) ListBranches ¶
func (s *BranchesService) ListBranches(pid any, opts *ListBranchesOptions, options ...RequestOptionFunc) ([]*Branch, *Response, error)
type BranchesServiceInterface ¶
type BranchesServiceInterface interface {
// ListBranches gets a list of repository branches from a project, sorted by name alphabetically.
//
// GitLab API docs:
// https://docs.gitlab.com/api/branches/#list-repository-branches
ListBranches(pid any, opts *ListBranchesOptions, options ...RequestOptionFunc) ([]*Branch, *Response, error)
// GetBranch gets a single project repository branch.
//
// GitLab API docs:
// https://docs.gitlab.com/api/branches/#get-single-repository-branch
GetBranch(pid any, branch string, options ...RequestOptionFunc) (*Branch, *Response, error)
// CreateBranch creates branch from commit SHA or existing branch.
//
// GitLab API docs:
// https://docs.gitlab.com/api/branches/#create-repository-branch
CreateBranch(pid any, opt *CreateBranchOptions, options ...RequestOptionFunc) (*Branch, *Response, error)
// DeleteBranch deletes an existing branch.
//
// GitLab API docs:
// https://docs.gitlab.com/api/branches/#delete-repository-branch
DeleteBranch(pid any, branch string, options ...RequestOptionFunc) (*Response, error)
// DeleteMergedBranches deletes all branches that are merged into the project's default branch.
//
// GitLab API docs:
// https://docs.gitlab.com/api/branches/#delete-merged-branches
DeleteMergedBranches(pid any, options ...RequestOptionFunc) (*Response, error)
}
type Bridge ¶
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 int64 `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"`
}
Bridge represents a pipeline bridge.
GitLab API docs: https://docs.gitlab.com/api/jobs/#list-pipeline-trigger-jobs
type BroadcastMessage ¶
type BroadcastMessage struct {
Message string `json:"message"`
StartsAt *time.Time `json:"starts_at"`
EndsAt *time.Time `json:"ends_at"`
Font string `json:"font"`
ID int64 `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"`
Theme string `json:"theme"`
}
BroadcastMessage represents a GitLab broadcast message.
GitLab API docs: https://docs.gitlab.com/api/broadcast_messages/#get-all-broadcast-messages
type BroadcastMessagesService ¶
type BroadcastMessagesService struct {
// contains filtered or unexported fields
}
BroadcastMessagesService handles communication with the broadcast messages methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/broadcast_messages/
func (*BroadcastMessagesService) CreateBroadcastMessage ¶
func (s *BroadcastMessagesService) CreateBroadcastMessage(opt *CreateBroadcastMessageOptions, options ...RequestOptionFunc) (*BroadcastMessage, *Response, error)
func (*BroadcastMessagesService) DeleteBroadcastMessage ¶
func (s *BroadcastMessagesService) DeleteBroadcastMessage(broadcast int64, options ...RequestOptionFunc) (*Response, error)
func (*BroadcastMessagesService) GetBroadcastMessage ¶
func (s *BroadcastMessagesService) GetBroadcastMessage(broadcast int64, options ...RequestOptionFunc) (*BroadcastMessage, *Response, error)
func (*BroadcastMessagesService) ListBroadcastMessages ¶
func (s *BroadcastMessagesService) ListBroadcastMessages(opt *ListBroadcastMessagesOptions, options ...RequestOptionFunc) ([]*BroadcastMessage, *Response, error)
func (*BroadcastMessagesService) UpdateBroadcastMessage ¶
func (s *BroadcastMessagesService) UpdateBroadcastMessage(broadcast int64, opt *UpdateBroadcastMessageOptions, options ...RequestOptionFunc) (*BroadcastMessage, *Response, error)
type BroadcastMessagesServiceInterface ¶
type BroadcastMessagesServiceInterface interface {
// ListBroadcastMessages gets a list of all broadcasted messages.
//
// GitLab API docs:
// https://docs.gitlab.com/api/broadcast_messages/#get-all-broadcast-messages
ListBroadcastMessages(opt *ListBroadcastMessagesOptions, options ...RequestOptionFunc) ([]*BroadcastMessage, *Response, error)
// GetBroadcastMessage gets a single broadcast message.
//
// GitLab API docs:
// https://docs.gitlab.com/api/broadcast_messages/#get-a-specific-broadcast-message
GetBroadcastMessage(broadcast int64, options ...RequestOptionFunc) (*BroadcastMessage, *Response, error)
// CreateBroadcastMessage creates a message to broadcast.
//
// GitLab API docs:
// https://docs.gitlab.com/api/broadcast_messages/#create-a-broadcast-message
CreateBroadcastMessage(opt *CreateBroadcastMessageOptions, options ...RequestOptionFunc) (*BroadcastMessage, *Response, error)
// UpdateBroadcastMessage updates a broadcasted message.
//
// GitLab API docs:
// https://docs.gitlab.com/api/broadcast_messages/#update-a-broadcast-message
UpdateBroadcastMessage(broadcast int64, opt *UpdateBroadcastMessageOptions, options ...RequestOptionFunc) (*BroadcastMessage, *Response, error)
// DeleteBroadcastMessage deletes a broadcasted message.
//
// GitLab API docs:
// https://docs.gitlab.com/api/broadcast_messages/#delete-a-broadcast-message
DeleteBroadcastMessage(broadcast int64, options ...RequestOptionFunc) (*Response, error)
}
type BuildEvent ¶
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 int64 `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 int64 `json:"project_id"`
ProjectName string `json:"project_name"`
User *EventUser `json:"user"`
Commit BuildEventCommit `json:"commit"`
Repository *Repository `json:"repository"`
}
BuildEvent represents a build event.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#job-events
type BuildEventCommit ¶
type BuildEventCommit struct {
ID int64 `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 int64 `json:"duration"`
StartedAt string `json:"started_at"`
FinishedAt string `json:"finished_at"`
}
type BuildStateValue ¶
type BuildStateValue string
BuildStateValue represents a GitLab build state.
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" )
These constants represent all valid build states.
type BulkImportStartMigrationConfiguration ¶
type BulkImportStartMigrationConfiguration struct {
URL *string `json:"url,omitempty"`
AccessToken *string `json:"access_token,omitempty"`
}
BulkImportStartMigrationConfiguration represents the available configuration options to start a migration.
GitLab API docs: https://docs.gitlab.com/api/bulk_imports/#start-a-new-group-or-project-migration
type BulkImportStartMigrationEntity ¶
type BulkImportStartMigrationEntity struct {
SourceType *string `json:"source_type,omitempty"`
SourceFullPath *string `json:"source_full_path,omitempty"`
DestinationSlug *string `json:"destination_slug,omitempty"`
DestinationNamespace *string `json:"destination_namespace,omitempty"`
MigrateProjects *bool `json:"migrate_projects,omitempty"`
MigrateMemberships *bool `json:"migrate_memberships,omitempty"`
}
BulkImportStartMigrationEntity represents the available entity options to start a migration.
GitLab API docs: https://docs.gitlab.com/api/bulk_imports/#start-a-new-group-or-project-migration
type BulkImportStartMigrationOptions ¶
type BulkImportStartMigrationOptions struct {
Configuration *BulkImportStartMigrationConfiguration `json:"configuration,omitempty"`
Entities []BulkImportStartMigrationEntity `json:"entities,omitempty"`
}
BulkImportStartMigrationOptions represents the available start migration options.
GitLab API docs: https://docs.gitlab.com/api/bulk_imports/#start-a-new-group-or-project-migration
type BulkImportStartMigrationResponse ¶
type BulkImportStartMigrationResponse struct {
ID int64 `json:"id"`
Status string `json:"status"`
SourceType string `json:"source_type"`
SourceURL string `json:"source_url"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
HasFailures bool `json:"has_failures"`
}
BulkImportStartMigrationResponse represents the start migration response.
GitLab API docs: https://docs.gitlab.com/api/bulk_imports/#start-a-new-group-or-project-migration
type BulkImportsService ¶
type BulkImportsService struct {
// contains filtered or unexported fields
}
BulkImportsService handles communication with GitLab's direct transfer API.
GitLab API docs: https://docs.gitlab.com/api/bulk_imports/
func (*BulkImportsService) StartMigration ¶
func (b *BulkImportsService) StartMigration(startMigrationOptions *BulkImportStartMigrationOptions, options ...RequestOptionFunc) (*BulkImportStartMigrationResponse, *Response, error)
type BulkImportsServiceInterface ¶
type BulkImportsServiceInterface interface {
StartMigration(startMigrationOptions *BulkImportStartMigrationOptions, options ...RequestOptionFunc) (*BulkImportStartMigrationResponse, *Response, error)
}
type BurndownChartEvent ¶
type BurndownChartEvent struct {
CreatedAt *time.Time `json:"created_at"`
Weight *int64 `json:"weight"`
Action *string `json:"action"`
}
BurndownChartEvent represents a burnout chart event.
GitLab API docs: https://docs.gitlab.com/api/group_milestones/#get-all-burndown-chart-events-for-a-single-milestone
type CIPipelineVariablesMinimumOverrideRoleValue ¶
type CIPipelineVariablesMinimumOverrideRoleValue = string
CIPipelineVariablesMinimumOverrideRoleValue represents an access control value used for managing access to the CI Pipeline Variable Override feature.
GitLab API docs: https://docs.gitlab.com/api/projects/
const ( CIPipelineVariablesNoOneAllowedRole CIPipelineVariablesMinimumOverrideRoleValue = "no_one_allowed" CiPipelineVariablesOwnerRole CIPipelineVariablesMinimumOverrideRoleValue = "owner" CiPipelineVariablesMaintainerRole CIPipelineVariablesMinimumOverrideRoleValue = "maintainer" CIPipelineVariablesDeveloperRole CIPipelineVariablesMinimumOverrideRoleValue = "developer" )
List of available CIPipelineVariablesMinimumOverrideRoleValue values.
GitLab API docs: https://docs.gitlab.com/api/projects/
type CIYMLTemplate ¶
CIYMLTemplate represents a GitLab CI YML template.
GitLab API docs: https://docs.gitlab.com/api/templates/gitlab_ci_ymls/
type CIYMLTemplateListItem ¶
CIYMLTemplateListItem represents a GitLab CI YML template from the list.
GitLab API docs: https://docs.gitlab.com/api/templates/gitlab_ci_ymls/
type CIYMLTemplatesService ¶
type CIYMLTemplatesService struct {
// contains filtered or unexported fields
}
CIYMLTemplatesService handles communication with the gitlab CI YML templates related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/templates/gitlab_ci_ymls/
func (*CIYMLTemplatesService) GetTemplate ¶
func (s *CIYMLTemplatesService) GetTemplate(key string, options ...RequestOptionFunc) (*CIYMLTemplate, *Response, error)
func (*CIYMLTemplatesService) ListAllTemplates ¶
func (s *CIYMLTemplatesService) ListAllTemplates(opt *ListCIYMLTemplatesOptions, options ...RequestOptionFunc) ([]*CIYMLTemplateListItem, *Response, error)
type CIYMLTemplatesServiceInterface ¶
type CIYMLTemplatesServiceInterface interface {
// ListAllTemplates get all GitLab CI YML templates.
//
// GitLab API docs:
// https://docs.gitlab.com/api/templates/gitlab_ci_ymls/#list-gitlab-ci-yaml-templates
ListAllTemplates(opt *ListCIYMLTemplatesOptions, options ...RequestOptionFunc) ([]*CIYMLTemplateListItem, *Response, error)
// GetTemplate get a single GitLab CI YML template.
//
// GitLab API docs:
// https://docs.gitlab.com/api/templates/gitlab_ci_ymls/#single-gitlab-ci-yaml-template
GetTemplate(key string, options ...RequestOptionFunc) (*CIYMLTemplate, *Response, error)
}
type CancelGitHubProjectImportOptions ¶
type CancelGitHubProjectImportOptions struct {
ProjectID *int64 `url:"project_id,omitempty" json:"project_id,omitempty"`
}
CancelGitHubProjectImportOptions represents the available CancelGitHubProjectImport() options.
GitLab API docs: https://docs.gitlab.com/api/import/#cancel-github-project-import
type CancelledGitHubImport ¶
type CancelledGitHubImport struct {
ID int64 `json:"id"`
Name string `json:"name"`
FullPath string `json:"full_path"`
FullName string `json:"full_name"`
ImportSource string `json:"import_source"`
ImportStatus string `json:"import_status"`
HumanImportStatusName string `json:"human_import_status_name"`
ProviderLink string `json:"provider_link"`
}
CancelledGitHubImport represents the response when canceling an import from GitHub.
GitLab API docs: https://docs.gitlab.com/api/import/#cancel-github-project-import
func (CancelledGitHubImport) String ¶
func (s CancelledGitHubImport) String() string
type ChangeAppearanceOptions ¶
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"`
MemberGuidelines *string `url:"member_guidelines,omitempty" json:"member_guidelines,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"`
MessageBackgroundColor *string `url:"message_background_color,omitempty" json:"message_background_color,omitempty"`
MessageFontColor *string `url:"message_font_color,omitempty" json:"message_font_color,omitempty"`
URL *string `url:"url,omitempty" json:"url,omitempty"`
}
ChangeAppearanceOptions represents the available ChangeAppearance() options.
GitLab API docs: https://docs.gitlab.com/api/appearance/#update-application-appearance
type ChangeApprovalConfigurationOptions ¶
type ChangeApprovalConfigurationOptions struct {
DisableOverridingApproversPerMergeRequest *bool `` /* 126-byte string literal not displayed */
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"`
RequireReauthenticationToApprove *bool `url:"require_reauthentication_to_approve,omitempty" json:"require_reauthentication_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"`
// Deprecated: use Merge Request Approvals API instead
ApprovalsBeforeMerge *int64 `url:"approvals_before_merge,omitempty" json:"approvals_before_merge,omitempty"`
// Deprecated: use RequireReauthenticationToApprove instead
RequirePasswordToApprove *bool `url:"require_password_to_approve,omitempty" json:"require_password_to_approve,omitempty"`
}
ChangeApprovalConfigurationOptions represents the available ApprovalConfiguration() options.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#change-configuration
type ChangeMergeRequestApprovalConfigurationOptions
deprecated
type ChangeMergeRequestApprovalConfigurationOptions struct {
ApprovalsRequired *int64 `url:"approvals_required,omitempty" json:"approvals_required,omitempty"`
}
ChangeMergeRequestApprovalConfigurationOptions represents the available ChangeMergeRequestApprovalConfiguration() options.
Deprecated: in GitLab 16.0
type ChangePlanLimitOptions ¶
type ChangePlanLimitOptions struct {
PlanName *string `url:"plan_name,omitempty" json:"plan_name,omitempty"`
ConanMaxFileSize *int64 `url:"conan_max_file_size,omitempty" json:"conan_max_file_size,omitempty"`
GenericPackagesMaxFileSize *int64 `url:"generic_packages_max_file_size,omitempty" json:"generic_packages_max_file_size,omitempty"`
HelmMaxFileSize *int64 `url:"helm_max_file_size,omitempty" json:"helm_max_file_size,omitempty"`
MavenMaxFileSize *int64 `url:"maven_max_file_size,omitempty" json:"maven_max_file_size,omitempty"`
NPMMaxFileSize *int64 `url:"npm_max_file_size,omitempty" json:"npm_max_file_size,omitempty"`
NugetMaxFileSize *int64 `url:"nuget_max_file_size,omitempty" json:"nuget_max_file_size,omitempty"`
PyPiMaxFileSize *int64 `url:"pypi_max_file_size,omitempty" json:"pypi_max_file_size,omitempty"`
TerraformModuleMaxFileSize *int64 `url:"terraform_module_max_file_size,omitempty" json:"terraform_module_max_file_size,omitempty"`
}
ChangePlanLimitOptions represents the available ChangePlanLimits() options.
GitLab API docs: https://docs.gitlab.com/api/plan_limits/#change-plan-limits
type ChangelogData ¶
type ChangelogData struct {
Notes string `json:"notes"`
}
ChangelogData represents the generated changelog data.
GitLab API docs: https://docs.gitlab.com/api/repositories/#generate-changelog-data
func (ChangelogData) String ¶
func (c ChangelogData) String() string
type CherryPickCommitOptions ¶
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"`
}
CherryPickCommitOptions represents the available CherryPickCommit() options.
GitLab API docs: https://docs.gitlab.com/api/commits/#cherry-pick-a-commit
type ClearStatusAfterValue ¶
type ClearStatusAfterValue string
ClearStatusAfterValue represents the time period after which the user's status will be cleared.
The duration is specified using one of the constants defined in this package.
const ( ClearStatusAfter30Minutes ClearStatusAfterValue = "30_minutes" ClearStatusAfter3Hours ClearStatusAfterValue = "3_hours" ClearStatusAfter8Hours ClearStatusAfterValue = "8_hours" ClearStatusAfter1Day ClearStatusAfterValue = "1_day" ClearStatusAfter3Days ClearStatusAfterValue = "3_days" ClearStatusAfter7Days ClearStatusAfterValue = "7_days" ClearStatusAfter30Days ClearStatusAfterValue = "30_days" )
List of available clear status after values.
https://docs.gitlab.com/api/users/#set-your-user-status:~:text=clear_status_after
type Client ¶
type Client struct {
// User agent used when communicating with the GitLab API.
UserAgent string
// GraphQL interface
GraphQL GraphQLInterface
// Services used for talking to different parts of the GitLab API.
AccessRequests AccessRequestsServiceInterface
AdminCompliancePolicySettings AdminCompliancePolicySettingsServiceInterface
AlertManagement AlertManagementServiceInterface
Appearance AppearanceServiceInterface
Applications ApplicationsServiceInterface
ApplicationStatistics ApplicationStatisticsServiceInterface
Attestations AttestationsServiceInterface
AuditEvents AuditEventsServiceInterface
Avatar AvatarRequestsServiceInterface
AwardEmoji AwardEmojiServiceInterface
Boards IssueBoardsServiceInterface
Branches BranchesServiceInterface
BroadcastMessage BroadcastMessagesServiceInterface
BulkImports BulkImportsServiceInterface
CIYMLTemplate CIYMLTemplatesServiceInterface
ClusterAgents ClusterAgentsServiceInterface
Commits CommitsServiceInterface
ContainerRegistry ContainerRegistryServiceInterface
ContainerRegistryProtectionRules ContainerRegistryProtectionRulesServiceInterface
CustomAttribute CustomAttributesServiceInterface
DatabaseMigrations DatabaseMigrationsServiceInterface
Dependencies DependenciesServiceInterface
DependencyListExport DependencyListExportServiceInterface
DependencyProxy DependencyProxyServiceInterface
DeployKeys DeployKeysServiceInterface
DeployTokens DeployTokensServiceInterface
DeploymentMergeRequests DeploymentMergeRequestsServiceInterface
Deployments DeploymentsServiceInterface
Discussions DiscussionsServiceInterface
DockerfileTemplate DockerfileTemplatesServiceInterface
DORAMetrics DORAMetricsServiceInterface
DraftNotes DraftNotesServiceInterface
EnterpriseUsers EnterpriseUsersServiceInterface
Environments EnvironmentsServiceInterface
EpicIssues EpicIssuesServiceInterface
Epics EpicsServiceInterface
ErrorTracking ErrorTrackingServiceInterface
Events EventsServiceInterface
ExternalStatusChecks ExternalStatusChecksServiceInterface
FeatureFlagUserLists FeatureFlagUserListsServiceInterface
Features FeaturesServiceInterface
FreezePeriods FreezePeriodsServiceInterface
GenericPackages GenericPackagesServiceInterface
GeoNodes GeoNodesServiceInterface
GeoSites GeoSitesServiceInterface
GitIgnoreTemplates GitIgnoreTemplatesServiceInterface
GroupAccessTokens GroupAccessTokensServiceInterface
GroupActivityAnalytics GroupActivityAnalyticsServiceInterface
GroupBadges GroupBadgesServiceInterface
GroupCluster GroupClustersServiceInterface
GroupCredentials GroupCredentialsServiceInterface
GroupEpicBoards GroupEpicBoardsServiceInterface
GroupImportExport GroupImportExportServiceInterface
Integrations IntegrationsServiceInterface
GroupIssueBoards GroupIssueBoardsServiceInterface
GroupIterations GroupIterationsServiceInterface
GroupLabels GroupLabelsServiceInterface
GroupMarkdownUploads GroupMarkdownUploadsServiceInterface
GroupMembers GroupMembersServiceInterface
GroupMilestones GroupMilestonesServiceInterface
GroupProtectedEnvironments GroupProtectedEnvironmentsServiceInterface
GroupProtectedBranches GroupProtectedBranchesServiceInterface
GroupRelationsExport GroupRelationsExportServiceInterface
GroupReleases GroupReleasesServiceInterface
GroupRepositoryStorageMove GroupRepositoryStorageMoveServiceInterface
GroupSCIM GroupSCIMServiceInterface
GroupSecuritySettings GroupSecuritySettingsServiceInterface
GroupSSHCertificates GroupSSHCertificatesServiceInterface
GroupVariables GroupVariablesServiceInterface
GroupWikis GroupWikisServiceInterface
Groups GroupsServiceInterface
Import ImportServiceInterface
InstanceCluster InstanceClustersServiceInterface
InstanceVariables InstanceVariablesServiceInterface
Invites InvitesServiceInterface
IssueLinks IssueLinksServiceInterface
Issues IssuesServiceInterface
IssuesStatistics IssuesStatisticsServiceInterface
Jobs JobsServiceInterface
JobTokenScope JobTokenScopeServiceInterface
Keys KeysServiceInterface
Labels LabelsServiceInterface
License LicenseServiceInterface
LicenseTemplates LicenseTemplatesServiceInterface
Markdown MarkdownServiceInterface
MemberRolesService MemberRolesServiceInterface
MergeRequestApprovals MergeRequestApprovalsServiceInterface
MergeRequestApprovalSettings MergeRequestApprovalSettingsServiceInterface
MergeRequestContextCommits MergeRequestContextCommitsServiceInterface
MergeRequests MergeRequestsServiceInterface
MergeTrains MergeTrainsServiceInterface
Metadata MetadataServiceInterface
Milestones MilestonesServiceInterface
ModelRegistry ModelRegistryServiceInterface
Namespaces NamespacesServiceInterface
Notes NotesServiceInterface
NotificationSettings NotificationSettingsServiceInterface
Packages PackagesServiceInterface
Pages PagesServiceInterface
PagesDomains PagesDomainsServiceInterface
PersonalAccessTokens PersonalAccessTokensServiceInterface
PipelineSchedules PipelineSchedulesServiceInterface
PipelineTriggers PipelineTriggersServiceInterface
Pipelines PipelinesServiceInterface
PlanLimits PlanLimitsServiceInterface
ProjectAccessTokens ProjectAccessTokensServiceInterface
ProjectAliases ProjectAliasesServiceInterface
ProjectBadges ProjectBadgesServiceInterface
ProjectCluster ProjectClustersServiceInterface
ProjectFeatureFlags ProjectFeatureFlagServiceInterface
ProjectImportExport ProjectImportExportServiceInterface
ProjectIterations ProjectIterationsServiceInterface
ProjectMarkdownUploads ProjectMarkdownUploadsServiceInterface
ProjectMembers ProjectMembersServiceInterface
ProjectMirrors ProjectMirrorServiceInterface
ProjectRepositoryStorageMove ProjectRepositoryStorageMoveServiceInterface
ProjectSecuritySettings ProjectSecuritySettingsServiceInterface
ProjectSnippets ProjectSnippetsServiceInterface
ProjectStatistics ProjectStatisticsServiceInterface
ProjectTemplates ProjectTemplatesServiceInterface
ProjectVariables ProjectVariablesServiceInterface
ProjectVulnerabilities ProjectVulnerabilitiesServiceInterface
Projects ProjectsServiceInterface
ProtectedBranches ProtectedBranchesServiceInterface
ProtectedEnvironments ProtectedEnvironmentsServiceInterface
ProtectedPackages ProtectedPackagesServiceInterface
ProtectedTags ProtectedTagsServiceInterface
ReleaseLinks ReleaseLinksServiceInterface
Releases ReleasesServiceInterface
Repositories RepositoriesServiceInterface
RepositoryFiles RepositoryFilesServiceInterface
RepositorySubmodules RepositorySubmodulesServiceInterface
ResourceGroup ResourceGroupServiceInterface
ResourceIterationEvents ResourceIterationEventsServiceInterface
ResourceLabelEvents ResourceLabelEventsServiceInterface
ResourceMilestoneEvents ResourceMilestoneEventsServiceInterface
ResourceStateEvents ResourceStateEventsServiceInterface
ResourceWeightEvents ResourceWeightEventsServiceInterface
RunnerControllers RunnerControllersServiceInterface
RunnerControllerScopes RunnerControllerScopesServiceInterface
RunnerControllerTokens RunnerControllerTokensServiceInterface
Runners RunnersServiceInterface
Search SearchServiceInterface
SecureFiles SecureFilesServiceInterface
Services ServicesServiceInterface
Settings SettingsServiceInterface
Sidekiq SidekiqServiceInterface
SnippetRepositoryStorageMove SnippetRepositoryStorageMoveServiceInterface
Snippets SnippetsServiceInterface
SystemHooks SystemHooksServiceInterface
Tags TagsServiceInterface
TerraformStates TerraformStatesServiceInterface
Todos TodosServiceInterface
Topics TopicsServiceInterface
UsageData UsageDataServiceInterface
Users UsersServiceInterface
Validate ValidateServiceInterface
Version VersionServiceInterface
Wikis WikisServiceInterface
WorkItems WorkItemsServiceInterface
// contains filtered or unexported fields
}
A Client manages communication with the GitLab API.
func NewAuthSourceClient ¶
func NewAuthSourceClient(as AuthSource, options ...ClientOptionFunc) (*Client, error)
NewAuthSourceClient returns a new GitLab API client that uses the AuthSource for authentication.
func NewBasicAuthClient
deprecated
func NewBasicAuthClient(username, password string, options ...ClientOptionFunc) (*Client, error)
NewBasicAuthClient returns a new GitLab API client using the OAuth 2.0 Resource Owner Password Credentials flow. The provided username and password are used to obtain an OAuth access token from GitLab's token endpoint on the first API request. The token is then cached, reused for subsequent requests, and refreshed when expired.
The Resource Owner Password Credentials flow is only suitable for trusted, first-party applications and does not work for users who have two-factor authentication enabled.
Note: This method uses OAuth tokens with Bearer authentication, not HTTP Basic Auth.
Deprecated: GitLab recommends against using this authentication method.
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
deprecated
func NewOAuthClient(token string, options ...ClientOptionFunc) (*Client, error)
NewOAuthClient returns a new GitLab API client using a static OAuth bearer token for authentication.
Deprecated: use NewAuthSourceClient with a StaticTokenSource instead. For example:
ts := oauth2.StaticTokenSource(
&oauth2.Token{AccessToken: "YOUR STATIC TOKEN"},
)
c, err := gitlab.NewAuthSourceClient(gitlab.OAuthTokenSource{ts})
func (*Client) Do ¶
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. If v is a *bodyReader, the response body is preserved without copying and the caller is responsible for closing it.
func (*Client) HTTPClient ¶
func (*Client) NewRequest ¶
func (c *Client) NewRequest(method, path string, opt any, 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) NewRequestToURL ¶
func (c *Client) NewRequestToURL(method string, u *url.URL, opt any, options []RequestOptionFunc) (*retryablehttp.Request, error)
func (*Client) UploadRequest ¶
func (c *Client) UploadRequest(method, path string, content io.Reader, filename string, uploadType UploadType, opt any, 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.
func WithAuthSourceStrategy ¶ added in v2.13.0
func WithAuthSourceStrategy(strategy AuthTokenStrategy) ClientOptionFunc
WithAuthSourceStrategy set strategy for authSource inject auth header
func WithBaseURL ¶
func WithBaseURL(urlStr string) ClientOptionFunc
WithBaseURL sets the base URL for API requests to a custom endpoint.
func WithCookieJar ¶
func WithCookieJar(jar http.CookieJar) ClientOptionFunc
WithCookieJar can be used to configure a cookie jar.
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 WithInterceptor ¶
func WithInterceptor(i Interceptor) ClientOptionFunc
WithInterceptor registers an Interceptor in the client's http request call pipeline. It returns a ClientOptionFunc that adds the interceptor to the 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 WithURLWarningLogger ¶
func WithURLWarningLogger(logger *slog.Logger) ClientOptionFunc
WithURLWarningLogger sets a custom logger for URL validation warnings. By default, warnings are logged using slog.Default(). Pass slog.New(slog.DiscardHandler) to disable warnings.
func WithUserAgent ¶
func WithUserAgent(userAgent string) ClientOptionFunc
WithUserAgent can be used to configure a custom user agent.
func WithoutRetries ¶
func WithoutRetries() ClientOptionFunc
WithoutRetries disables the default retry logic.
type ClusterAgentsService ¶
type ClusterAgentsService struct {
// contains filtered or unexported fields
}
ClusterAgentsService handles communication with the cluster agents related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/cluster_agents/
func (*ClusterAgentsService) CreateAgentToken ¶
func (s *ClusterAgentsService) CreateAgentToken(pid any, aid int64, opt *CreateAgentTokenOptions, options ...RequestOptionFunc) (*AgentToken, *Response, error)
func (*ClusterAgentsService) DeleteAgent ¶
func (s *ClusterAgentsService) DeleteAgent(pid any, id int64, options ...RequestOptionFunc) (*Response, error)
func (*ClusterAgentsService) GetAgent ¶
func (s *ClusterAgentsService) GetAgent(pid any, id int64, options ...RequestOptionFunc) (*Agent, *Response, error)
func (*ClusterAgentsService) GetAgentToken ¶
func (s *ClusterAgentsService) GetAgentToken(pid any, aid int64, id int64, options ...RequestOptionFunc) (*AgentToken, *Response, error)
func (*ClusterAgentsService) ListAgentTokens ¶
func (s *ClusterAgentsService) ListAgentTokens(pid any, aid int64, opt *ListAgentTokensOptions, options ...RequestOptionFunc) ([]*AgentToken, *Response, error)
func (*ClusterAgentsService) ListAgents ¶
func (s *ClusterAgentsService) ListAgents(pid any, opt *ListAgentsOptions, options ...RequestOptionFunc) ([]*Agent, *Response, error)
func (*ClusterAgentsService) RegisterAgent ¶
func (s *ClusterAgentsService) RegisterAgent(pid any, opt *RegisterAgentOptions, options ...RequestOptionFunc) (*Agent, *Response, error)
func (*ClusterAgentsService) RevokeAgentToken ¶
func (s *ClusterAgentsService) RevokeAgentToken(pid any, aid int64, id int64, options ...RequestOptionFunc) (*Response, error)
type ClusterAgentsServiceInterface ¶
type ClusterAgentsServiceInterface interface {
// ListAgents returns a list of agents registered for the project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/cluster_agents/#list-the-agents-for-a-project
// ListAgents returns a list of agents registered for the project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/cluster_agents/#list-the-agents-for-a-project
ListAgents(pid any, opt *ListAgentsOptions, options ...RequestOptionFunc) ([]*Agent, *Response, error)
// GetAgent gets a single agent details.
//
// GitLab API docs:
// https://docs.gitlab.com/api/cluster_agents/#get-details-about-an-agent
GetAgent(pid any, id int64, options ...RequestOptionFunc) (*Agent, *Response, error)
// RegisterAgent registers an agent to the project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/cluster_agents/#register-an-agent-with-a-project
RegisterAgent(pid any, opt *RegisterAgentOptions, options ...RequestOptionFunc) (*Agent, *Response, error)
// DeleteAgent deletes an existing agent registration.
//
// GitLab API docs:
// https://docs.gitlab.com/api/cluster_agents/#delete-a-registered-agent
DeleteAgent(pid any, id int64, options ...RequestOptionFunc) (*Response, error)
// ListAgentTokens returns a list of tokens for an agent.
//
// GitLab API docs:
// https://docs.gitlab.com/api/cluster_agents/#list-tokens-for-an-agent
ListAgentTokens(pid any, aid int64, opt *ListAgentTokensOptions, options ...RequestOptionFunc) ([]*AgentToken, *Response, error)
// GetAgentToken gets a single agent token.
//
// GitLab API docs:
// https://docs.gitlab.com/api/cluster_agents/#get-a-single-agent-token
GetAgentToken(pid any, aid int64, id int64, options ...RequestOptionFunc) (*AgentToken, *Response, error)
// CreateAgentToken creates a new token for an agent.
//
// GitLab API docs:
// https://docs.gitlab.com/api/cluster_agents/#create-an-agent-token
CreateAgentToken(pid any, aid int64, opt *CreateAgentTokenOptions, options ...RequestOptionFunc) (*AgentToken, *Response, error)
// RevokeAgentToken revokes an agent token.
//
// GitLab API docs:
// https://docs.gitlab.com/api/cluster_agents/#revoke-an-agent-token
RevokeAgentToken(pid any, aid int64, id int64, options ...RequestOptionFunc) (*Response, error)
}
type CommentEventAction ¶
type CommentEventAction string
CommentEventAction identifies if a comment has been newly created or updated.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#comment-events
const ( CommentEventActionCreate CommentEventAction = "create" CommentEventActionUpdate CommentEventAction = "update" )
type Commit ¶
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 int64 `json:"project_id"`
Trailers map[string]string `json:"trailers"`
ExtendedTrailers map[string]string `json:"extended_trailers"`
WebURL string `json:"web_url"`
}
Commit represents a GitLab commit.
GitLab API docs: https://docs.gitlab.com/api/commits/
type CommitActionOptions ¶
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"`
}
CommitActionOptions represents the available options for a new single file action.
GitLab API docs: https://docs.gitlab.com/api/commits/#create-a-commit-with-multiple-files-and-actions
type CommitComment ¶
type CommitComment struct {
Note string `json:"note"`
Path string `json:"path"`
Line int64 `json:"line"`
LineType string `json:"line_type"`
Author Author `json:"author"`
}
CommitComment represents a GitLab commit comment.
GitLab API docs: https://docs.gitlab.com/api/commits/
func (CommitComment) String ¶
func (c CommitComment) String() string
type CommitCommentEvent ¶
type CommitCommentEvent struct {
ObjectKind string `json:"object_kind"`
EventType string `json:"event_type"`
User *User `json:"user"`
ProjectID int64 `json:"project_id"`
Project CommitCommentEventProject `json:"project"`
Repository *Repository `json:"repository"`
ObjectAttributes CommitCommentEventObjectAttributes `json:"object_attributes"`
Commit *CommitCommentEventCommit `json:"commit"`
}
CommitCommentEvent represents a comment on a commit event.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#comment-on-a-commit
type CommitCommentEventObjectAttributes ¶
type CommitCommentEventObjectAttributes struct {
ID int64 `json:"id"`
Note string `json:"note"`
NoteableType string `json:"noteable_type"`
AuthorID int64 `json:"author_id"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
ProjectID int64 `json:"project_id"`
Attachment string `json:"attachment"`
LineCode string `json:"line_code"`
CommitID string `json:"commit_id"`
NoteableID int64 `json:"noteable_id"`
System bool `json:"system"`
StDiff *Diff `json:"st_diff"`
Description string `json:"description"`
Action CommentEventAction `json:"action"`
URL string `json:"url"`
}
type CommitCommentEventProject ¶
type CommitCommentEventProject struct {
ID int64 `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"`
}
type CommitRef ¶
CommitRef represents the reference of branches/tags in a commit.
GitLab API docs: https://docs.gitlab.com/api/commits/#get-references-a-commit-is-pushed-to
type CommitStats ¶
type CommitStats struct {
Additions int64 `json:"additions"`
Deletions int64 `json:"deletions"`
Total int64 `json:"total"`
}
CommitStats represents the number of added and deleted files in a commit.
GitLab API docs: https://docs.gitlab.com/api/commits/
type CommitStatus ¶
type CommitStatus struct {
ID int64 `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 int64 `json:"pipeline_id"`
Author Author `json:"author"`
Description string `json:"description"`
TargetURL string `json:"target_url"`
}
CommitStatus represents a GitLab commit status.
GitLab API docs: https://docs.gitlab.com/api/commits/#commit-status
type CommitsService ¶
type CommitsService struct {
// contains filtered or unexported fields
}
CommitsService handles communication with the commit related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/commits/
func (*CommitsService) CherryPickCommit ¶
func (s *CommitsService) CherryPickCommit(pid any, sha string, opt *CherryPickCommitOptions, options ...RequestOptionFunc) (*Commit, *Response, error)
func (*CommitsService) CreateCommit ¶
func (s *CommitsService) CreateCommit(pid any, opt *CreateCommitOptions, options ...RequestOptionFunc) (*Commit, *Response, error)
func (*CommitsService) GetCommit ¶
func (s *CommitsService) GetCommit(pid any, sha string, opt *GetCommitOptions, options ...RequestOptionFunc) (*Commit, *Response, error)
func (*CommitsService) GetCommitComments ¶
func (s *CommitsService) GetCommitComments(pid any, sha string, opt *GetCommitCommentsOptions, options ...RequestOptionFunc) ([]*CommitComment, *Response, error)
func (*CommitsService) GetCommitDiff ¶
func (s *CommitsService) GetCommitDiff(pid any, sha string, opt *GetCommitDiffOptions, options ...RequestOptionFunc) ([]*Diff, *Response, error)
func (*CommitsService) GetCommitRefs ¶
func (s *CommitsService) GetCommitRefs(pid any, sha string, opt *GetCommitRefsOptions, options ...RequestOptionFunc) ([]*CommitRef, *Response, error)
func (*CommitsService) GetCommitStatuses ¶
func (s *CommitsService) GetCommitStatuses(pid any, sha string, opt *GetCommitStatusesOptions, options ...RequestOptionFunc) ([]*CommitStatus, *Response, error)
func (*CommitsService) GetGPGSignature ¶
func (s *CommitsService) GetGPGSignature(pid any, sha string, options ...RequestOptionFunc) (*GPGSignature, *Response, error)
func (*CommitsService) ListCommits ¶
func (s *CommitsService) ListCommits(pid any, opt *ListCommitsOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)
func (*CommitsService) ListMergeRequestsByCommit ¶
func (s *CommitsService) ListMergeRequestsByCommit(pid any, sha string, options ...RequestOptionFunc) ([]*BasicMergeRequest, *Response, error)
func (*CommitsService) PostCommitComment ¶
func (s *CommitsService) PostCommitComment(pid any, sha string, opt *PostCommitCommentOptions, options ...RequestOptionFunc) (*CommitComment, *Response, error)
func (*CommitsService) RevertCommit ¶
func (s *CommitsService) RevertCommit(pid any, sha string, opt *RevertCommitOptions, options ...RequestOptionFunc) (*Commit, *Response, error)
func (*CommitsService) SetCommitStatus ¶
func (s *CommitsService) SetCommitStatus(pid any, sha string, opt *SetCommitStatusOptions, options ...RequestOptionFunc) (*CommitStatus, *Response, error)
type CommitsServiceInterface ¶
type CommitsServiceInterface interface {
// ListCommits gets a list of repository commits in a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/commits/#list-repository-commits
ListCommits(pid any, opt *ListCommitsOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)
// GetCommitRefs gets all references (from branches or tags) a commit is pushed to.
//
// GitLab API docs:
// https://docs.gitlab.com/api/commits/#get-references-a-commit-is-pushed-to
GetCommitRefs(pid any, sha string, opt *GetCommitRefsOptions, options ...RequestOptionFunc) ([]*CommitRef, *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/api/commits/#get-a-single-commit
GetCommit(pid any, sha string, opt *GetCommitOptions, options ...RequestOptionFunc) (*Commit, *Response, error)
// CreateCommit creates a commit with multiple files and actions.
//
// GitLab API docs:
// https://docs.gitlab.com/api/commits/#create-a-commit-with-multiple-files-and-actions
CreateCommit(pid any, opt *CreateCommitOptions, options ...RequestOptionFunc) (*Commit, *Response, error)
// GetCommitDiff gets the diff of a commit in a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/commits/#get-the-diff-of-a-commit
GetCommitDiff(pid any, sha string, opt *GetCommitDiffOptions, options ...RequestOptionFunc) ([]*Diff, *Response, error)
// GetCommitComments gets the comments of a commit in a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/commits/#get-the-comments-of-a-commit
GetCommitComments(pid any, sha string, opt *GetCommitCommentsOptions, options ...RequestOptionFunc) ([]*CommitComment, *Response, error)
// PostCommitComment adds a comment to a commit. Optionally you can post
// comments on a specific line of a commit. Therefore both path, line_new and
// line_old are required.
//
// GitLab API docs:
// https://docs.gitlab.com/api/commits/#post-comment-to-commit
PostCommitComment(pid any, sha string, opt *PostCommitCommentOptions, options ...RequestOptionFunc) (*CommitComment, *Response, error)
// GetCommitStatuses gets the statuses of a commit in a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/commits/#list-the-statuses-of-a-commit
GetCommitStatuses(pid any, sha string, opt *GetCommitStatusesOptions, options ...RequestOptionFunc) ([]*CommitStatus, *Response, error)
// SetCommitStatus sets the status of a commit in a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/commits/#set-the-pipeline-status-of-a-commit
SetCommitStatus(pid any, sha string, opt *SetCommitStatusOptions, options ...RequestOptionFunc) (*CommitStatus, *Response, error)
// ListMergeRequestsByCommit gets merge request associated with a commit.
//
// GitLab API docs:
// https://docs.gitlab.com/api/commits/#list-merge-requests-associated-with-a-commit
ListMergeRequestsByCommit(pid any, sha string, options ...RequestOptionFunc) ([]*BasicMergeRequest, *Response, error)
// CherryPickCommit cherry picks a commit to a given branch.
//
// GitLab API docs:
// https://docs.gitlab.com/api/commits/#cherry-pick-a-commit
CherryPickCommit(pid any, sha string, opt *CherryPickCommitOptions, options ...RequestOptionFunc) (*Commit, *Response, error)
// RevertCommit reverts a commit in a given branch.
//
// GitLab API docs:
// https://docs.gitlab.com/api/commits/#revert-a-commit
RevertCommit(pid any, sha string, opt *RevertCommitOptions, options ...RequestOptionFunc) (*Commit, *Response, error)
// GetGPGSignature gets a GPG signature of a commit.
//
// GitLab API docs:
// https://docs.gitlab.com/api/commits/#get-signature-of-a-commit
GetGPGSignature(pid any, sha string, options ...RequestOptionFunc) (*GPGSignature, *Response, error)
}
CommitsService handles communication with the commit related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/commits/
type Compare ¶
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"`
WebURL string `json:"web_url"`
}
Compare represents the result of a comparison of branches, tags or commits.
GitLab API docs: https://docs.gitlab.com/api/repositories/#compare-branches-tags-or-commits
type CompareOptions ¶
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"`
}
CompareOptions represents the available Compare() options.
GitLab API docs: https://docs.gitlab.com/api/repositories/#compare-branches-tags-or-commits
type CompoundMetrics ¶
type CompoundMetrics struct {
QueueMetrics
ProcessMetrics
JobStats
}
CompoundMetrics represents the GitLab sidekiq compounded stats.
GitLab API docs: https://docs.gitlab.com/api/sidekiq_metrics/#get-a-compound-response-of-all-the-previously-mentioned-metrics
type ConfigProject ¶
type ConfigureProjectPullMirrorOptions ¶
type ConfigureProjectPullMirrorOptions struct {
Enabled *bool `url:"enabled,omitempty" json:"enabled,omitempty"`
URL *string `url:"url,omitempty" json:"url,omitempty"`
AuthUser *string `url:"auth_user,omitempty" json:"auth_user,omitempty"`
AuthPassword *string `url:"auth_password,omitempty" json:"auth_password,omitempty"`
MirrorTriggerBuilds *bool `url:"mirror_trigger_builds,omitempty" json:"mirror_trigger_builds,omitempty"`
OnlyMirrorProtectedBranches *bool `url:"only_mirror_protected_branches,omitempty" json:"only_mirror_protected_branches,omitempty"`
MirrorOverwritesDivergedBranches *bool `url:"mirror_overwrites_diverged_branches,omitempty" json:"mirror_overwrites_diverged_branches,omitempty"`
MirrorBranchRegex *string `url:"mirror_branch_regex,omitempty" json:"mirror_branch_regex,omitempty"`
}
ConfigureProjectPullMirrorOptions represents the available ConfigureProjectPullMirror() options.
GitLab API docs: https://docs.gitlab.com/api/project_pull_mirroring/#configure-pull-mirroring-for-a-project
type ContainerExpirationPolicy ¶
type ContainerExpirationPolicy struct {
Cadence string `json:"cadence"`
KeepN int64 `json:"keep_n"`
OlderThan string `json:"older_than"`
NameRegexDelete string `json:"name_regex_delete"`
NameRegexKeep string `json:"name_regex_keep"`
Enabled bool `json:"enabled"`
NextRunAt *time.Time `json:"next_run_at"`
// Deprecated: use NameRegexDelete instead
NameRegex string `json:"name_regex"`
}
ContainerExpirationPolicy represents the container expiration policy.
type ContainerExpirationPolicyAttributes ¶
type ContainerExpirationPolicyAttributes struct {
Cadence *string `url:"cadence,omitempty" json:"cadence,omitempty"`
KeepN *int64 `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"`
}
ContainerExpirationPolicyAttributes represents the available container expiration policy attributes.
GitLab API docs: https://docs.gitlab.com/api/projects/#create-a-project
type ContainerRegistryProtectionRule ¶
type ContainerRegistryProtectionRule struct {
ID int64 `json:"id"`
ProjectID int64 `json:"project_id"`
RepositoryPathPattern string `json:"repository_path_pattern"`
MinimumAccessLevelForPush ProtectionRuleAccessLevel `json:"minimum_access_level_for_push"`
MinimumAccessLevelForDelete ProtectionRuleAccessLevel `json:"minimum_access_level_for_delete"`
}
ContainerRegistryProtectionRule represents a GitLab container registry protection rule.
GitLab API docs: https://docs.gitlab.com/api/container_repository_protection_rules/
func (ContainerRegistryProtectionRule) String ¶
func (s ContainerRegistryProtectionRule) String() string
type ContainerRegistryProtectionRulesService ¶
type ContainerRegistryProtectionRulesService struct {
// contains filtered or unexported fields
}
ContainerRegistryProtectionRulesService handles communication with the container registry protection rules related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/container_repository_protection_rules/
func (*ContainerRegistryProtectionRulesService) CreateContainerRegistryProtectionRule ¶
func (s *ContainerRegistryProtectionRulesService) CreateContainerRegistryProtectionRule(pid any, opt *CreateContainerRegistryProtectionRuleOptions, options ...RequestOptionFunc) (*ContainerRegistryProtectionRule, *Response, error)
func (*ContainerRegistryProtectionRulesService) DeleteContainerRegistryProtectionRule ¶
func (s *ContainerRegistryProtectionRulesService) DeleteContainerRegistryProtectionRule(pid any, ruleID int64, options ...RequestOptionFunc) (*Response, error)
func (*ContainerRegistryProtectionRulesService) ListContainerRegistryProtectionRules ¶
func (s *ContainerRegistryProtectionRulesService) ListContainerRegistryProtectionRules(pid any, options ...RequestOptionFunc) ([]*ContainerRegistryProtectionRule, *Response, error)
func (*ContainerRegistryProtectionRulesService) UpdateContainerRegistryProtectionRule ¶
func (s *ContainerRegistryProtectionRulesService) UpdateContainerRegistryProtectionRule(pid any, ruleID int64, opt *UpdateContainerRegistryProtectionRuleOptions, options ...RequestOptionFunc) (*ContainerRegistryProtectionRule, *Response, error)
type ContainerRegistryProtectionRulesServiceInterface ¶
type ContainerRegistryProtectionRulesServiceInterface interface {
// ListContainerRegistryProtectionRules gets a list of container repository
// protection rules from a project’s container registry.
//
// GitLab API docs:
// https://docs.gitlab.com/api/container_repository_protection_rules/#list-container-repository-protection-rules
// ListContainerRegistryProtectionRules gets a list of container repository
// protection rules from a project’s container registry.
//
// GitLab API docs:
// https://docs.gitlab.com/api/container_repository_protection_rules/#list-container-repository-protection-rules
ListContainerRegistryProtectionRules(pid any, options ...RequestOptionFunc) ([]*ContainerRegistryProtectionRule, *Response, error)
// CreateContainerRegistryProtectionRule creates a container repository
// protection rule for a project’s container registry.
//
// GitLab API docs:
// https://docs.gitlab.com/api/container_repository_protection_rules/#create-a-container-repository-protection-rule
CreateContainerRegistryProtectionRule(pid any, opt *CreateContainerRegistryProtectionRuleOptions, options ...RequestOptionFunc) (*ContainerRegistryProtectionRule, *Response, error)
// UpdateContainerRegistryProtectionRule updates a container repository protection
// rule for a project’s container registry.
//
// GitLab API docs:
// https://docs.gitlab.com/api/container_repository_protection_rules/#update-a-container-repository-protection-rule
UpdateContainerRegistryProtectionRule(pid any, ruleID int64, opt *UpdateContainerRegistryProtectionRuleOptions, options ...RequestOptionFunc) (*ContainerRegistryProtectionRule, *Response, error)
// DeleteContainerRegistryProtectionRule deletes a container repository protection
// rule from a project’s container registry.
//
// GitLab API docs:
// https://docs.gitlab.com/api/container_repository_protection_rules/#delete-a-container-repository-protection-rule
DeleteContainerRegistryProtectionRule(pid any, ruleID int64, options ...RequestOptionFunc) (*Response, error)
}
type ContainerRegistryService ¶
type ContainerRegistryService struct {
// contains filtered or unexported fields
}
ContainerRegistryService handles communication with the container registry related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/container_registry/
func (*ContainerRegistryService) DeleteRegistryRepository ¶
func (s *ContainerRegistryService) DeleteRegistryRepository(pid any, repository int64, options ...RequestOptionFunc) (*Response, error)
func (*ContainerRegistryService) DeleteRegistryRepositoryTag ¶
func (s *ContainerRegistryService) DeleteRegistryRepositoryTag(pid any, repository int64, tagName string, options ...RequestOptionFunc) (*Response, error)
func (*ContainerRegistryService) DeleteRegistryRepositoryTags ¶
func (s *ContainerRegistryService) DeleteRegistryRepositoryTags(pid any, repository int64, opt *DeleteRegistryRepositoryTagsOptions, options ...RequestOptionFunc) (*Response, error)
func (*ContainerRegistryService) GetRegistryRepositoryTagDetail ¶
func (s *ContainerRegistryService) GetRegistryRepositoryTagDetail(pid any, repository int64, tagName string, options ...RequestOptionFunc) (*RegistryRepositoryTag, *Response, error)
func (*ContainerRegistryService) GetSingleRegistryRepository ¶
func (s *ContainerRegistryService) GetSingleRegistryRepository(pid any, opt *GetSingleRegistryRepositoryOptions, options ...RequestOptionFunc) (*RegistryRepository, *Response, error)
func (*ContainerRegistryService) ListGroupRegistryRepositories ¶
func (s *ContainerRegistryService) ListGroupRegistryRepositories(gid any, opt *ListGroupRegistryRepositoriesOptions, options ...RequestOptionFunc) ([]*RegistryRepository, *Response, error)
func (*ContainerRegistryService) ListProjectRegistryRepositories ¶
func (s *ContainerRegistryService) ListProjectRegistryRepositories(pid any, opt *ListProjectRegistryRepositoriesOptions, options ...RequestOptionFunc) ([]*RegistryRepository, *Response, error)
func (*ContainerRegistryService) ListRegistryRepositoryTags ¶
func (s *ContainerRegistryService) ListRegistryRepositoryTags(pid any, repository int64, opt *ListRegistryRepositoryTagsOptions, options ...RequestOptionFunc) ([]*RegistryRepositoryTag, *Response, error)
type ContainerRegistryServiceInterface ¶
type ContainerRegistryServiceInterface interface {
// ListProjectRegistryRepositories gets a list of registry repositories in a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/container_registry/#within-a-project
ListProjectRegistryRepositories(pid any, opt *ListProjectRegistryRepositoriesOptions, options ...RequestOptionFunc) ([]*RegistryRepository, *Response, error)
// ListGroupRegistryRepositories gets a list of registry repositories in a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/container_registry/#within-a-group
ListGroupRegistryRepositories(gid any, opt *ListGroupRegistryRepositoriesOptions, options ...RequestOptionFunc) ([]*RegistryRepository, *Response, error)
// GetSingleRegistryRepository gets the details of single registry repository.
//
// GitLab API docs:
// https://docs.gitlab.com/api/container_registry/#get-details-of-a-single-repository
GetSingleRegistryRepository(pid any, opt *GetSingleRegistryRepositoryOptions, options ...RequestOptionFunc) (*RegistryRepository, *Response, error)
// DeleteRegistryRepository deletes a repository in a registry.
//
// GitLab API docs:
// https://docs.gitlab.com/api/container_registry/#delete-registry-repository
DeleteRegistryRepository(pid any, repository int64, options ...RequestOptionFunc) (*Response, error)
// ListRegistryRepositoryTags gets a list of tags for given registry repository.
//
// GitLab API docs:
// https://docs.gitlab.com/api/container_registry/#list-registry-repository-tags
ListRegistryRepositoryTags(pid any, repository int64, opt *ListRegistryRepositoryTagsOptions, options ...RequestOptionFunc) ([]*RegistryRepositoryTag, *Response, error)
// GetRegistryRepositoryTagDetail get details of a registry repository tag.
//
// GitLab API docs:
// https://docs.gitlab.com/api/container_registry/#get-details-of-a-registry-repository-tag
GetRegistryRepositoryTagDetail(pid any, repository int64, tagName string, options ...RequestOptionFunc) (*RegistryRepositoryTag, *Response, error)
// DeleteRegistryRepositoryTag deletes a registry repository tag.
//
// GitLab API docs:
// https://docs.gitlab.com/api/container_registry/#delete-a-registry-repository-tag
DeleteRegistryRepositoryTag(pid any, repository int64, tagName string, options ...RequestOptionFunc) (*Response, error)
// DeleteRegistryRepositoryTags deletes repository tags in bulk based on given criteria.
//
// GitLab API docs:
// https://docs.gitlab.com/api/container_registry/#delete-registry-repository-tags-in-bulk
DeleteRegistryRepositoryTags(pid any, repository int64, opt *DeleteRegistryRepositoryTagsOptions, options ...RequestOptionFunc) (*Response, error)
}
type ContainerRegistryStatus ¶
type ContainerRegistryStatus string
ContainerRegistryStatus represents the status of a Container Registry.
GitLab API docs: https://docs.gitlab.com/api/container_registry/#list-registry-repositories
const ( ContainerRegistryStatusDeleteScheduled ContainerRegistryStatus = "delete_scheduled" ContainerRegistryStatusDeleteFailed ContainerRegistryStatus = "delete_failed" ContainerRegistryStatusDeleteOngoing ContainerRegistryStatus = "delete_ongoing" )
ContainerRegistryStatus represents all valid statuses of a Container Registry.
Undocumented, see code at: https://gitlab.com/gitlab-org/gitlab/-/blob/master/app/models/container_repository.rb?ref_type=heads#L35
type ContributionEvent ¶
type ContributionEvent struct {
ID int64 `json:"id"`
Title string `json:"title"`
ProjectID int64 `json:"project_id"`
ActionName string `json:"action_name"`
TargetID int64 `json:"target_id"`
TargetIID int64 `json:"target_iid"`
TargetType string `json:"target_type"`
AuthorID int64 `json:"author_id"`
TargetTitle string `json:"target_title"`
CreatedAt *time.Time `json:"created_at"`
PushData ContributionEventPushData `json:"push_data"`
Note *Note `json:"note"`
Author BasicUser `json:"author"`
AuthorUsername string `json:"author_username"`
}
ContributionEvent represents a user's contribution
GitLab API docs: https://docs.gitlab.com/api/events/#get-user-contribution-events
type ContributionEventPushData ¶
type ContributionEventPushData struct {
CommitCount int64 `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"`
}
ContributionEventPushData represents a user's contribution push data.
GitLab API docs: https://docs.gitlab.com/api/events/#get-contribution-events-for-a-user
type Contributor ¶
type Contributor struct {
Name string `json:"name"`
Email string `json:"email"`
Commits int64 `json:"commits"`
Additions int64 `json:"additions"`
Deletions int64 `json:"deletions"`
}
Contributor represents a GitLab contributor.
GitLab API docs: https://docs.gitlab.com/api/repositories/#contributors
func (Contributor) String ¶
func (c Contributor) String() string
type CreateAgentTokenOptions ¶
type CreateAgentTokenOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
Description *string `url:"description,omitempty" json:"description,omitempty"`
}
CreateAgentTokenOptions represents the available CreateAgentToken() options.
GitLab API docs: https://docs.gitlab.com/api/cluster_agents/#create-an-agent-token
type CreateApplicationOptions ¶
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"`
}
CreateApplicationOptions represents the available CreateApplication() options.
GitLab API docs: https://docs.gitlab.com/api/applications/#create-an-application
type CreateAwardEmojiOptions ¶
type CreateAwardEmojiOptions struct {
Name string `json:"name"`
}
CreateAwardEmojiOptions represents the available options for awarding emoji for a resource
GitLab API docs: https://docs.gitlab.com/api/emoji_reactions/#add-a-new-emoji-reaction
type CreateBranchOptions ¶
type CreateBranchOptions struct {
Branch *string `url:"branch,omitempty" json:"branch,omitempty"`
Ref *string `url:"ref,omitempty" json:"ref,omitempty"`
}
CreateBranchOptions represents the available CreateBranch() options.
GitLab API docs: https://docs.gitlab.com/api/branches/#create-repository-branch
type CreateBroadcastMessageOptions ¶
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"`
Theme *string `url:"theme,omitempty" json:"theme,omitempty"`
}
CreateBroadcastMessageOptions represents the available CreateBroadcastMessage() options.
GitLab API docs: https://docs.gitlab.com/api/broadcast_messages/#create-a-broadcast-message
type CreateCommitDiscussionOptions ¶
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"`
}
CreateCommitDiscussionOptions represents the available CreateCommitDiscussion() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#create-new-commit-thread
type CreateCommitOptions ¶
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"`
}
CreateCommitOptions represents the available options for a new commit.
GitLab API docs: https://docs.gitlab.com/api/commits/#create-a-commit-with-multiple-files-and-actions
type CreateContainerRegistryProtectionRuleOptions ¶
type CreateContainerRegistryProtectionRuleOptions struct {
RepositoryPathPattern *string `url:"repository_path_pattern,omitempty" json:"repository_path_pattern,omitempty"`
MinimumAccessLevelForPush *ProtectionRuleAccessLevel `url:"minimum_access_level_for_push,omitempty" json:"minimum_access_level_for_push,omitempty"`
MinimumAccessLevelForDelete *ProtectionRuleAccessLevel `url:"minimum_access_level_for_delete,omitempty" json:"minimum_access_level_for_delete,omitempty"`
}
CreateContainerRegistryProtectionRuleOptions represents the available CreateContainerRegistryProtectionRule() options.
GitLab API docs: https://docs.gitlab.com/api/container_repository_protection_rules/#create-a-container-repository-protection-rule
type CreateDependencyListExportOptions ¶
type CreateDependencyListExportOptions struct {
ExportType *string `url:"export_type" json:"export_type"`
}
CreateDependencyListExportOptions represents the available CreateDependencyListExport() options.
GitLab API docs: https://docs.gitlab.com/api/dependency_list_export/#create-a-dependency-list-export
type CreateDraftNoteOptions ¶
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"`
}
CreateDraftNoteOptions represents the available CreateDraftNote() options.
GitLab API docs: GitLab API docs: https://docs.gitlab.com/api/draft_notes/#create-a-draft-note
type CreateEnvironmentOptions ¶
type CreateEnvironmentOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
Description *string `url:"description,omitempty" json:"description,omitempty"`
ExternalURL *string `url:"external_url,omitempty" json:"external_url,omitempty"`
Tier *string `url:"tier,omitempty" json:"tier,omitempty"`
ClusterAgentID *int64 `url:"cluster_agent_id,omitempty" json:"cluster_agent_id,omitempty"`
KubernetesNamespace *string `url:"kubernetes_namespace,omitempty" json:"kubernetes_namespace,omitempty"`
FluxResourcePath *string `url:"flux_resource_path,omitempty" json:"flux_resource_path,omitempty"`
AutoStopSetting *string `url:"auto_stop_setting,omitempty" json:"auto_stop_setting,omitempty"`
}
CreateEnvironmentOptions represents the available CreateEnvironment() options.
GitLab API docs: https://docs.gitlab.com/api/environments/#create-a-new-environment
type CreateEpicDiscussionOptions ¶
type CreateEpicDiscussionOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}
CreateEpicDiscussionOptions represents the available CreateEpicDiscussion() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#create-new-epic-thread
type CreateEpicNoteOptions ¶
type CreateEpicNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
}
CreateEpicNoteOptions represents the available CreateEpicNote() options. Will be removed in v5 of the API, use Work Items API instead
GitLab API docs: https://docs.gitlab.com/api/notes/#create-new-epic-note
type CreateEpicOptions ¶
type CreateEpicOptions struct {
Title *string `url:"title,omitempty" json:"title,omitempty"`
Labels *LabelOptions `url:"labels,comma,omitempty" json:"labels,omitempty"`
Description *string `url:"description,omitempty" json:"description,omitempty"`
Color *string `url:"color,omitempty" json:"color,omitempty"`
Confidential *bool `url:"confidential,omitempty" json:"confidential,omitempty"`
CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,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"`
ParentID *int64 `url:"parent_id,omitempty" json:"parent_id,omitempty"`
}
CreateEpicOptions represents the available CreateEpic() options. Will be removed in v5 of the API, use Work Items API instead
GitLab API docs: https://docs.gitlab.com/api/epics/#new-epic
type CreateExternalStatusCheckOptions ¶
type CreateExternalStatusCheckOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
ExternalURL *string `url:"external_url,omitempty" json:"external_url,omitempty"`
ProtectedBranchIDs *[]int64 `url:"protected_branch_ids,omitempty" json:"protected_branch_ids,omitempty"`
}
CreateExternalStatusCheckOptions represents the available CreateExternalStatusCheck() options. Deprecated: to be removed in 1.0; use CreateProjectExternalStatusCheckOptions instead
GitLab API docs: https://docs.gitlab.com/api/status_checks/#create-external-status-check-service
type CreateFeatureFlagUserListOptions ¶
type CreateFeatureFlagUserListOptions struct {
Name string `url:"name,omitempty" json:"name,omitempty"`
UserXIDs string `url:"user_xids,omitempty" json:"user_xids,omitempty"`
}
CreateFeatureFlagUserListOptions represents the available CreateFeatureFlagUserList() options.
GitLab API docs: https://docs.gitlab.com/api/feature_flag_user_lists/#create-a-feature-flag-user-list
type CreateFileOptions ¶
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"`
}
CreateFileOptions represents the available CreateFile() options.
GitLab API docs: https://docs.gitlab.com/api/repository_files/#create-new-file-in-repository
type CreateFreezePeriodOptions ¶
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"`
}
CreateFreezePeriodOptions represents the available CreateFreezePeriodOptions() options.
GitLab API docs: https://docs.gitlab.com/api/freeze_periods/#create-a-freeze-period
type CreateGeoNodesOptions ¶
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 *int64 `url:"files_max_capacity,omitempty" json:"files_max_capacity,omitempty"`
ReposMaxCapacity *int64 `url:"repos_max_capacity,omitempty" json:"repos_max_capacity,omitempty"`
VerificationMaxCapacity *int64 `url:"verification_max_capacity,omitempty" json:"verification_max_capacity,omitempty"`
ContainerRepositoriesMaxCapacity *int64 `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 *[]int64 `url:"selective_sync_namespace_ids,omitempty" json:"selective_sync_namespace_ids,omitempty"`
MinimumReverificationInterval *int64 `url:"minimum_reverification_interval,omitempty" json:"minimum_reverification_interval,omitempty"`
}
CreateGeoNodesOptions represents the available CreateGeoNode() options. Deprecated: will be removed in v5 of the API, use Geo Sites API instead
GitLab API docs: https://docs.gitlab.com/api/geo_nodes/#create-a-new-geo-node
type CreateGeoSitesOptions ¶
type CreateGeoSitesOptions 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 *int64 `url:"files_max_capacity,omitempty" json:"files_max_capacity,omitempty"`
ReposMaxCapacity *int64 `url:"repos_max_capacity,omitempty" json:"repos_max_capacity,omitempty"`
VerificationMaxCapacity *int64 `url:"verification_max_capacity,omitempty" json:"verification_max_capacity,omitempty"`
ContainerRepositoriesMaxCapacity *int64 `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 *[]int64 `url:"selective_sync_namespace_ids,omitempty" json:"selective_sync_namespace_ids,omitempty"`
MinimumReverificationInterval *int64 `url:"minimum_reverification_interval,omitempty" json:"minimum_reverification_interval,omitempty"`
}
CreateGeoSitesOptions represents the available CreateGeoSite() options.
GitLab API docs: https://docs.gitlab.com/api/geo_sites/#create-a-geo-site
type CreateGroupAccessTokenOptions ¶
type CreateGroupAccessTokenOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
Description *string `url:"description,omitempty" json:"description,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"`
}
CreateGroupAccessTokenOptions represents the available CreateVariable() options.
GitLab API docs: https://docs.gitlab.com/api/group_access_tokens/#create-a-group-access-token
type CreateGroupDeployTokenOptions ¶
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"`
}
CreateGroupDeployTokenOptions represents the available CreateGroupDeployToken() options.
GitLab API docs: https://docs.gitlab.com/api/deploy_tokens/#create-a-group-deploy-token
type CreateGroupIssueBoardListOptions ¶
type CreateGroupIssueBoardListOptions struct {
LabelID *int64 `url:"label_id" json:"label_id"`
}
CreateGroupIssueBoardListOptions represents the available CreateGroupIssueBoardList() options.
GitLab API docs: https://docs.gitlab.com/api/group_boards/#new-group-issue-board-list
type CreateGroupIssueBoardOptions ¶
type CreateGroupIssueBoardOptions struct {
Name *string `url:"name" json:"name"`
}
CreateGroupIssueBoardOptions represents the available CreateGroupIssueBoard() options.
GitLab API docs: https://docs.gitlab.com/api/group_boards/#create-a-group-issue-board
type CreateGroupLabelOptions ¶
type CreateGroupLabelOptions 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 Nullable[int64] `url:"priority,omitempty" json:"priority,omitempty"`
}
CreateGroupLabelOptions represents the available CreateGroupLabel() options.
GitLab API docs: https://docs.gitlab.com/api/group_labels/#create-a-new-group-label
type CreateGroupMilestoneOptions ¶
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"`
}
CreateGroupMilestoneOptions represents the available CreateGroupMilestone() options.
GitLab API docs: https://docs.gitlab.com/api/group_milestones/#create-new-milestone
type CreateGroupOptions ¶
type CreateGroupOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
Path *string `url:"path,omitempty" json:"path,omitempty"`
Avatar *GroupAvatar `url:"-" json:"-"`
DefaultBranch *string `url:"default_branch,omitempty" json:"default_branch,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"`
RequireTwoFactorAuth *bool `url:"require_two_factor_authentication,omitempty" json:"require_two_factor_authentication,omitempty"`
TwoFactorGracePeriod *int64 `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"`
DefaultBranchProtectionDefaults *DefaultBranchProtectionDefaultsOptions `url:"default_branch_protection_defaults,omitempty" json:"default_branch_protection_defaults,omitempty"`
RequestAccessEnabled *bool `url:"request_access_enabled,omitempty" json:"request_access_enabled,omitempty"`
ParentID *int64 `url:"parent_id,omitempty" json:"parent_id,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"`
// Deprecated: User DefaultBranchProtectionDefaults instead
DefaultBranchProtection *int64 `url:"default_branch_protection,omitempty" json:"default_branch_protection,omitempty"`
EnabledGitAccessProtocol *EnabledGitAccessProtocolValue `url:"enabled_git_access_protocol,omitempty" json:"enabled_git_access_protocol,omitempty"`
OrganizationID *int64 `url:"organization_id,omitempty" json:"organization_id,omitempty"`
DuoAvailability *DuoAvailabilityValue `url:"duo_availability,omitempty" json:"duo_availability,omitempty"`
ExperimentFeaturesEnabled *bool `url:"experiment_features_enabled,omitempty" json:"experiment_features_enabled,omitempty"`
}
CreateGroupOptions represents the available CreateGroup() options.
GitLab API docs: https://docs.gitlab.com/api/groups/#create-a-group
type CreateGroupSSHCertificateOptions ¶
type CreateGroupSSHCertificateOptions struct {
Key *string `url:"key,omitempty" json:"key,omitempty"`
Title *string `url:"title,omitempty" json:"title,omitempty"`
}
CreateGroupSSHCertificateOptions represents the available CreateGroupSSHCertificate() options.
GitLab API docs: https://docs.gitlab.com/api/group_ssh_certificates/#create-ssh-certificate
type CreateGroupVariableOptions ¶
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"`
MaskedAndHidden *bool `url:"masked_and_hidden,omitempty" json:"masked_and_hidden,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"`
}
CreateGroupVariableOptions represents the available CreateVariable() options.
GitLab API docs: https://docs.gitlab.com/api/group_level_variables/#create-variable
type CreateGroupWikiPageOptions ¶
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"`
}
CreateGroupWikiPageOptions represents options to CreateGroupWikiPage.
GitLab API docs: https://docs.gitlab.com/api/group_wikis/#create-a-new-wiki-page
type CreateInstanceVariableOptions ¶
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"`
}
CreateInstanceVariableOptions represents the available CreateVariable() options.
GitLab API docs: https://docs.gitlab.com/api/instance_level_ci_variables/#create-instance-variable
type CreateIssueBoardListOptions ¶
type CreateIssueBoardListOptions struct {
LabelID *int64 `url:"label_id,omitempty" json:"label_id,omitempty"`
AssigneeID *int64 `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
MilestoneID *int64 `url:"milestone_id,omitempty" json:"milestone_id,omitempty"`
IterationID *int64 `url:"iteration_id,omitempty" json:"iteration_id,omitempty"`
}
CreateIssueBoardListOptions represents the available CreateIssueBoardList() options.
GitLab API docs: https://docs.gitlab.com/api/boards/#create-a-board-list
type CreateIssueBoardOptions ¶
type CreateIssueBoardOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
}
CreateIssueBoardOptions represents the available CreateIssueBoard() options.
GitLab API docs: https://docs.gitlab.com/api/boards/#create-an-issue-board
type CreateIssueDiscussionOptions ¶
type CreateIssueDiscussionOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}
CreateIssueDiscussionOptions represents the available CreateIssueDiscussion() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#create-new-issue-thread
type CreateIssueLinkOptions ¶
type CreateIssueLinkOptions struct {
TargetProjectID *string `json:"target_project_id"`
TargetIssueIID *string `json:"target_issue_iid"`
LinkType *string `json:"link_type"`
}
CreateIssueLinkOptions represents the available CreateIssueLink() options.
GitLab API docs: https://docs.gitlab.com/api/issue_links/#create-an-issue-link
type CreateIssueNoteOptions ¶
type CreateIssueNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
Internal *bool `url:"internal,omitempty" json:"internal,omitempty"`
}
CreateIssueNoteOptions represents the available CreateIssueNote() options.
GitLab API docs: https://docs.gitlab.com/api/notes/#create-new-issue-note
type CreateIssueOptions ¶
type CreateIssueOptions struct {
IID *int64 `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"`
// AssigneeID is a CE-only attribute. For EE, use AssigneeIDs instead.
AssigneeID *int64 `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
// AssigneeIDs is a EE-only attribute. For CE, use AssigneeID instead.
AssigneeIDs *[]int64 `url:"assignee_ids,omitempty" json:"assignee_ids,omitempty"`
MilestoneID *int64 `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 *int64 `url:"epic_id,omitempty" json:"epic_id,omitempty"`
MergeRequestToResolveDiscussionsOf *int64 `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 *int64 `url:"weight,omitempty" json:"weight,omitempty"`
IssueType *string `url:"issue_type,omitempty" json:"issue_type,omitempty"`
}
CreateIssueOptions represents the available CreateIssue() options.
GitLab API docs: https://docs.gitlab.com/api/issues/#new-issue
type CreateLabelOptions ¶
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 Nullable[int64] `url:"priority,omitempty" json:"priority,omitempty"`
Archived *bool `url:"archived,omitempty" json:"archived,omitempty"`
}
CreateLabelOptions represents the available CreateLabel() options.
GitLab API docs: https://docs.gitlab.com/api/labels/#create-a-project-label
type CreateMemberRoleOptions ¶
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"`
AdminCICDVariables *bool `url:"admin_cicd_variables" json:"admin_cicd_variables,omitempty"`
AdminComplianceFramework *bool `url:"admin_compliance_framework" json:"admin_compliance_framework,omitempty"`
AdminGroupMembers *bool `url:"admin_group_member" json:"admin_group_member,omitempty"`
AdminMergeRequest *bool `url:"admin_merge_request,omitempty" json:"admin_merge_request,omitempty"`
AdminPushRules *bool `url:"admin_push_rules" json:"admin_push_rules,omitempty"`
AdminTerraformState *bool `url:"admin_terraform_state" json:"admin_terraform_state,omitempty"`
AdminVulnerability *bool `url:"admin_vulnerability,omitempty" json:"admin_vulnerability,omitempty"`
AdminWebHook *bool `url:"admin_web_hook" json:"admin_web_hook,omitempty"`
ArchiveProject *bool `url:"archive_project" json:"archive_project,omitempty"`
ManageDeployTokens *bool `url:"manage_deploy_tokens" json:"manage_deploy_tokens,omitempty"`
ManageGroupAccessTokens *bool `url:"manage_group_access_tokens" json:"manage_group_access_tokens,omitempty"`
ManageMergeRequestSettings *bool `url:"manage_merge_request_settings" json:"manage_merge_request_settings,omitempty"`
ManageProjectAccessTokens *bool `url:"manage_project_access_tokens" json:"manage_project_access_tokens,omitempty"`
ManageSecurityPolicyLink *bool `url:"manage_security_policy_link" json:"manage_security_policy_link,omitempty"`
ReadCode *bool `url:"read_code,omitempty" json:"read_code,omitempty"`
ReadRunners *bool `url:"read_runners" json:"read_runners,omitempty"`
ReadDependency *bool `url:"read_dependency,omitempty" json:"read_dependency,omitempty"`
ReadVulnerability *bool `url:"read_vulnerability,omitempty" json:"read_vulnerability,omitempty"`
RemoveGroup *bool `url:"remove_group" json:"remove_group,omitempty"`
RemoveProject *bool `url:"remove_project" json:"remove_project,omitempty"`
}
CreateMemberRoleOptions represents the available CreateInstanceMemberRole() and CreateMemberRole() options.
GitLab API docs: https://docs.gitlab.com/api/member_roles/#create-a-instance-member-role https://docs.gitlab.com/api/member_roles/#add-a-member-role-to-a-group
type CreateMergeRequestApprovalRuleOptions ¶
type CreateMergeRequestApprovalRuleOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
ApprovalsRequired *int64 `url:"approvals_required,omitempty" json:"approvals_required,omitempty"`
ApprovalProjectRuleID *int64 `url:"approval_project_rule_id,omitempty" json:"approval_project_rule_id,omitempty"`
UserIDs *[]int64 `url:"user_ids,omitempty" json:"user_ids,omitempty"`
GroupIDs *[]int64 `url:"group_ids,omitempty" json:"group_ids,omitempty"`
}
CreateMergeRequestApprovalRuleOptions represents the available CreateApprovalRule() options.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#create-merge-request-rule
type CreateMergeRequestContextCommitsOptions ¶
type CreateMergeRequestContextCommitsOptions struct {
Commits *[]string `url:"commits,omitempty" json:"commits,omitempty"`
}
CreateMergeRequestContextCommitsOptions represents the available CreateMergeRequestContextCommits() options.
GitLab API docs: https://docs.gitlab.com/api/merge_request_context_commits/#create-mr-context-commits
type CreateMergeRequestDependencyOptions ¶
type CreateMergeRequestDependencyOptions struct {
BlockingMergeRequestID *int64 `url:"blocking_merge_request_id,omitempty" json:"blocking_merge_request_id,omitempty"`
}
CreateMergeRequestDependencyOptions represents the available CreateMergeRequestDependency() options.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#create-a-merge-request-dependency
type CreateMergeRequestDiscussionOptions ¶
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"`
}
CreateMergeRequestDiscussionOptions represents the available CreateMergeRequestDiscussion() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#create-new-merge-request-thread
type CreateMergeRequestNoteOptions ¶
type CreateMergeRequestNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
Internal *bool `url:"internal,omitempty" json:"internal,omitempty"`
MergeRequestDiffHeadSHA *string `url:"merge_request_diff_head_sha,omitempty" json:"merge_request_diff_head_sha,omitempty"`
}
CreateMergeRequestNoteOptions represents the available CreateMergeRequestNote() options.
GitLab API docs: https://docs.gitlab.com/api/notes/#create-new-merge-request-note
type CreateMergeRequestOptions ¶
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 *int64 `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
AssigneeIDs *[]int64 `url:"assignee_ids,omitempty" json:"assignee_ids,omitempty"`
ReviewerIDs *[]int64 `url:"reviewer_ids,omitempty" json:"reviewer_ids,omitempty"`
TargetProjectID *int64 `url:"target_project_id,omitempty" json:"target_project_id,omitempty"`
MilestoneID *int64 `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"`
// Deprecated: will be removed in v5 of the API, use the Merge Request Approvals API instead
ApprovalsBeforeMerge *int64 `url:"approvals_before_merge,omitempty" json:"approvals_before_merge,omitempty"`
}
CreateMergeRequestOptions represents the available CreateMergeRequest() options.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#create-mr
type CreateMilestoneOptions ¶
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"`
}
CreateMilestoneOptions represents the available CreateMilestone() options.
GitLab API docs: https://docs.gitlab.com/api/milestones/#create-new-milestone
type CreatePackageProtectionRulesOptions ¶
type CreatePackageProtectionRulesOptions struct {
PackageNamePattern *string `url:"package_name_pattern" json:"package_name_pattern"`
PackageType *string `url:"package_type" json:"package_type"`
MinimumAccessLevelForDelete Nullable[ProtectionRuleAccessLevel] `url:"minimum_access_level_for_delete,omitempty" json:"minimum_access_level_for_delete,omitempty"`
MinimumAccessLevelForPush Nullable[ProtectionRuleAccessLevel] `url:"minimum_access_level_for_push,omitempty" json:"minimum_access_level_for_push,omitempty"`
}
CreatePackageProtectionRulesOptions represents the available CreatePackageProtectionRules() options.
GitLab API docs: https://docs.gitlab.com/api/project_packages_protection_rules/#create-a-package-protection-rule
type CreatePagesDomainOptions ¶
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"`
}
CreatePagesDomainOptions represents the available CreatePagesDomain() options.
GitLab API docs: https://docs.gitlab.com/api/pages_domains/#create-new-pages-domain
type CreatePersonalAccessTokenForCurrentUserOptions ¶
type CreatePersonalAccessTokenForCurrentUserOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
Description *string `url:"description,omitempty" json:"description,omitempty"`
Scopes *[]string `url:"scopes,omitempty" json:"scopes,omitempty"`
ExpiresAt *ISOTime `url:"expires_at,omitempty" json:"expires_at,omitempty"`
}
CreatePersonalAccessTokenForCurrentUserOptions represents the available CreatePersonalAccessTokenForCurrentUser() options.
GitLab API docs: https://docs.gitlab.com/api/user_tokens/#create-a-personal-access-token
type CreatePersonalAccessTokenOptions ¶
type CreatePersonalAccessTokenOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
Description *string `url:"description,omitempty" json:"description,omitempty"`
ExpiresAt *ISOTime `url:"expires_at,omitempty" json:"expires_at,omitempty"`
Scopes *[]string `url:"scopes,omitempty" json:"scopes,omitempty"`
}
CreatePersonalAccessTokenOptions represents the available CreatePersonalAccessToken() options.
GitLab API docs: https://docs.gitlab.com/api/user_tokens/#create-a-personal-access-token-for-a-user
type CreatePipelineOptions ¶
type CreatePipelineOptions struct {
Ref *string `url:"ref" json:"ref"`
Variables *[]*PipelineVariableOptions `url:"variables,omitempty" json:"variables,omitempty"`
// Inputs contains pipeline input parameters.
// See PipelineInputsOption for supported types and usage.
Inputs PipelineInputsOption `url:"inputs,omitempty" json:"inputs,omitempty"`
}
CreatePipelineOptions represents the available CreatePipeline() options.
GitLab API docs: https://docs.gitlab.com/api/pipelines/#create-a-new-pipeline
type CreatePipelineScheduleOptions ¶
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"`
Inputs []*PipelineInput `url:"inputs,omitempty" json:"inputs,omitempty"`
}
CreatePipelineScheduleOptions represents the available CreatePipelineSchedule() options.
GitLab API docs: https://docs.gitlab.com/api/pipeline_schedules/#create-a-new-pipeline-schedule
type CreatePipelineScheduleVariableOptions ¶
type CreatePipelineScheduleVariableOptions struct {
Key *string `url:"key" json:"key"`
Value *string `url:"value" json:"value"`
VariableType *VariableTypeValue `url:"variable_type,omitempty" json:"variable_type,omitempty"`
}
CreatePipelineScheduleVariableOptions represents the available CreatePipelineScheduleVariable() options.
GitLab API docs: https://docs.gitlab.com/api/pipeline_schedules/#create-a-new-pipeline-schedule
type CreateProjectAccessTokenOptions ¶
type CreateProjectAccessTokenOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
Description *string `url:"description,omitempty" json:"description,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"`
}
CreateProjectAccessTokenOptions represents the available CreateVariable() options.
GitLab API docs: https://docs.gitlab.com/api/project_access_tokens/#create-a-project-access-token
type CreateProjectAliasOptions ¶
type CreateProjectAliasOptions struct {
Name *string `json:"name" url:"name,omitempty"`
ProjectID int64 `json:"project_id" url:"project_id,omitempty"`
}
CreateProjectAliasOptions represents the options for creating a project alias.
GitLab API docs: https://docs.gitlab.com/api/project_aliases/#create-a-project-alias
type CreateProjectDeployTokenOptions ¶
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"`
}
CreateProjectDeployTokenOptions represents the available CreateProjectDeployToken() options.
GitLab API docs: https://docs.gitlab.com/api/deploy_tokens/#create-a-project-deploy-token
type CreateProjectDeploymentOptions ¶
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"`
}
CreateProjectDeploymentOptions represents the available CreateProjectDeployment() options.
GitLab API docs: https://docs.gitlab.com/api/deployments/#create-a-deployment
type CreateProjectExternalStatusCheckOptions ¶
type CreateProjectExternalStatusCheckOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
ExternalURL *string `url:"external_url,omitempty" json:"external_url,omitempty"`
ProtectedBranchIDs *[]int64 `url:"protected_branch_ids,omitempty" json:"protected_branch_ids,omitempty"`
}
CreateProjectExternalStatusCheckOptions represents the available CreateProjectExternalStatusCheck() options.
GitLab API docs: https://docs.gitlab.com/api/status_checks/#create-external-status-check-service
type CreateProjectFeatureFlagOptions ¶
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"`
}
CreateProjectFeatureFlagOptions represents the available CreateProjectFeatureFlag() options.
GitLab API docs: https://docs.gitlab.com/api/feature_flags/#create-a-feature-flag
type CreateProjectForUserOptions ¶
type CreateProjectForUserOptions CreateProjectOptions
CreateProjectForUserOptions represents the available CreateProjectForUser() options.
GitLab API docs: https://docs.gitlab.com/api/projects/#create-a-project-for-a-user
type CreateProjectLevelRuleOptions ¶
type CreateProjectLevelRuleOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
ApprovalsRequired *int64 `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 *[]int64 `url:"user_ids,omitempty" json:"user_ids,omitempty"`
GroupIDs *[]int64 `url:"group_ids,omitempty" json:"group_ids,omitempty"`
ProtectedBranchIDs *[]int64 `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"`
Usernames *[]string `url:"usernames,omitempty" json:"usernames,omitempty"`
}
CreateProjectLevelRuleOptions represents the available CreateProjectApprovalRule() options.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#create-project-approval-rule
type CreateProjectOptions ¶
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"`
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 *int64 `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 *int64 `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"`
MergeTrainsSkipTrainAllowed *bool `url:"merge_trains_skip_train_allowed,omitempty" json:"merge_trains_skip_train_allowed,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 *int64 `url:"namespace_id,omitempty" json:"namespace_id,omitempty"`
OnlyAllowMergeIfAllDiscussionsAreResolved *bool `` /* 130-byte string literal not displayed */
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"`
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"`
GroupRunnersEnabled *bool `url:"group_runners_enabled,omitempty" json:"group_runners_enabled,omitempty"`
ResourceGroupDefaultProcessMode *ResourceGroupProcessMode `url:"resource_group_default_process_mode,omitempty" json:"resource_group_default_process_mode,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 *int64 `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"`
MergeRequestTitleRegex *string `url:"merge_request_title_regex,omitempty" json:"merge_request_title_regex,omitempty"`
MergeRequestTitleRegexDescription *string `url:"merge_request_title_regex_description,omitempty" json:"merge_request_title_regex_description,omitempty"`
// Deprecated: use Merge Request Approvals API instead
ApprovalsBeforeMerge *int64 `url:"approvals_before_merge,omitempty" json:"approvals_before_merge,omitempty"`
// Deprecated: use PublicJobs instead
PublicBuilds *bool `url:"public_builds,omitempty" json:"public_builds,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"`
}
CreateProjectOptions represents the available CreateProject() options.
GitLab API docs: https://docs.gitlab.com/api/projects/#create-a-project
type CreateProjectSnippetOptions ¶
type CreateProjectSnippetOptions struct {
Title *string `url:"title,omitempty" json:"title,omitempty"`
Description *string `url:"description,omitempty" json:"description,omitempty"`
Visibility *VisibilityValue `url:"visibility,omitempty" json:"visibility,omitempty"`
Files *[]*CreateSnippetFileOptions `url:"files,omitempty" json:"files,omitempty"`
// Deprecated: use Files instead
FileName *string `url:"file_name,omitempty" json:"file_name,omitempty"`
// Deprecated: use Files instead
Content *string `url:"content,omitempty" json:"content,omitempty"`
}
CreateProjectSnippetOptions represents the available CreateSnippet() options.
GitLab API docs: https://docs.gitlab.com/api/project_snippets/#create-new-snippet
type CreateProjectVariableOptions ¶
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"`
MaskedAndHidden *bool `url:"masked_and_hidden,omitempty" json:"masked_and_hidden,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"`
}
CreateProjectVariableOptions represents the available CreateVariable() options.
GitLab API docs: https://docs.gitlab.com/api/project_level_variables/#create-a-variable
type CreateReleaseLinkOptions ¶
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"`
DirectAssetPath *string `url:"direct_asset_path,omitempty" json:"direct_asset_path,omitempty"`
LinkType *LinkTypeValue `url:"link_type,omitempty" json:"link_type,omitempty"`
}
CreateReleaseLinkOptions represents CreateReleaseLink() options.
GitLab API docs: https://docs.gitlab.com/api/releases/links/#create-a-release-link
type CreateReleaseOptions ¶
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"`
}
CreateReleaseOptions represents CreateRelease() options.
GitLab API docs: https://docs.gitlab.com/api/releases/#create-a-release
type CreateRunnerControllerOptions ¶
type CreateRunnerControllerOptions struct {
Description *string `url:"description,omitempty" json:"description,omitempty"`
State *RunnerControllerStateValue `url:"state,omitempty" json:"state,omitempty"`
}
CreateRunnerControllerOptions represents the available CreateRunnerController() options.
GitLab API docs: https://docs.gitlab.com/api/runner_controllers/#register-a-runner-controller
type CreateRunnerControllerTokenOptions ¶
type CreateRunnerControllerTokenOptions struct {
Description *string `url:"description,omitempty" json:"description,omitempty"`
}
CreateRunnerControllerTokenOptions represents the available CreateRunnerControllerToken() options.
GitLab API docs: https://docs.gitlab.com/api/runner_controller_tokens/#create-a-runner-controller-token
type CreateSecureFileOptions ¶
type CreateSecureFileOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
}
CreateSecureFileOptions represents the available CreateSecureFile() options.
GitLab API docs: https://docs.gitlab.com/api/secure_files/#create-secure-file
type CreateServiceAccountOptions ¶
type CreateServiceAccountOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
Username *string `url:"username,omitempty" json:"username,omitempty"`
Email *string `url:"email,omitempty" json:"email,omitempty"`
}
CreateServiceAccountOptions represents the available CreateServiceAccount() options.
GitLab API docs: https://docs.gitlab.com/api/service_accounts/#create-a-group-service-account
type CreateServiceAccountPersonalAccessTokenOptions ¶
type CreateServiceAccountPersonalAccessTokenOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
Description *string `url:"description,omitempty" json:"description,omitempty"`
Scopes *[]string `url:"scopes,omitempty" json:"scopes,omitempty"`
ExpiresAt *ISOTime `url:"expires_at,omitempty" json:"expires_at,omitempty"`
}
CreateServiceAccountPersonalAccessTokenOptions represents the available CreateServiceAccountPersonalAccessToken() options.
GitLab API docs: https://docs.gitlab.com/api/service_accounts/#create-a-personal-access-token-for-a-group-service-account
type CreateServiceAccountUserOptions ¶
type CreateServiceAccountUserOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
Username *string `url:"username,omitempty" json:"username,omitempty"`
Email *string `url:"email,omitempty" json:"email,omitempty"`
}
CreateServiceAccountUserOptions represents the available CreateServiceAccountUser() options.
GitLab API docs: https://docs.gitlab.com/api/user_service_accounts/#create-a-service-account-user
type CreateSnippetDiscussionOptions ¶
type CreateSnippetDiscussionOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}
CreateSnippetDiscussionOptions represents the available CreateSnippetDiscussion() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#create-new-snippet-thread
type CreateSnippetFileOptions ¶
type CreateSnippetFileOptions struct {
FilePath *string `url:"file_path,omitempty" json:"file_path,omitempty"`
Content *string `url:"content,omitempty" json:"content,omitempty"`
}
CreateSnippetFileOptions represents the create snippet file options.
GitLab API docs: https://docs.gitlab.com/api/snippets/#create-new-snippet
type CreateSnippetNoteOptions ¶
type CreateSnippetNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}
CreateSnippetNoteOptions represents the available CreateSnippetNote() options.
GitLab API docs: https://docs.gitlab.com/api/notes/#create-new-snippet-note
type CreateSnippetOptions ¶
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"`
}
CreateSnippetOptions represents the available CreateSnippet() options.
GitLab API docs: https://docs.gitlab.com/api/snippets/#create-new-snippet
type CreateTagOptions ¶
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"`
}
CreateTagOptions represents the available CreateTag() options.
GitLab API docs: https://docs.gitlab.com/api/tags/#create-a-new-tag
type CreateTargetBranchRuleOptions ¶ added in v2.8.0
CreateTargetBranchRuleOptions represents the available CreateTargetBranchRule() options.
GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#mutationprojecttargetbranchrulecreate
type CreateTopicOptions ¶
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:"-"`
}
CreateTopicOptions represents the available CreateTopic() options.
GitLab API docs: https://docs.gitlab.com/api/topics/#create-a-project-topic
type CreateUserOptions ¶
type CreateUserOptions struct {
Admin *bool `url:"admin,omitempty" json:"admin,omitempty"`
Avatar *UserAvatar `url:"-" json:"-"`
Bio *string `url:"bio,omitempty" json:"bio,omitempty"`
CanCreateGroup *bool `url:"can_create_group,omitempty" json:"can_create_group,omitempty"`
Email *string `url:"email,omitempty" json:"email,omitempty"`
External *bool `url:"external,omitempty" json:"external,omitempty"`
ExternUID *string `url:"extern_uid,omitempty" json:"extern_uid,omitempty"`
ForceRandomPassword *bool `url:"force_random_password,omitempty" json:"force_random_password,omitempty"`
JobTitle *string `url:"job_title,omitempty" json:"job_title,omitempty"`
Linkedin *string `url:"linkedin,omitempty" json:"linkedin,omitempty"`
Location *string `url:"location,omitempty" json:"location,omitempty"`
Name *string `url:"name,omitempty" json:"name,omitempty"`
Note *string `url:"note,omitempty" json:"note,omitempty"`
Organization *string `url:"organization,omitempty" json:"organization,omitempty"`
Password *string `url:"password,omitempty" json:"password,omitempty"`
PrivateProfile *bool `url:"private_profile,omitempty" json:"private_profile,omitempty"`
ProjectsLimit *int64 `url:"projects_limit,omitempty" json:"projects_limit,omitempty"`
Provider *string `url:"provider,omitempty" json:"provider,omitempty"`
ResetPassword *bool `url:"reset_password,omitempty" json:"reset_password,omitempty"`
SkipConfirmation *bool `url:"skip_confirmation,omitempty" json:"skip_confirmation,omitempty"`
Skype *string `url:"skype,omitempty" json:"skype,omitempty"`
ThemeID *int64 `url:"theme_id,omitempty" json:"theme_id,omitempty"`
Twitter *string `url:"twitter,omitempty" json:"twitter,omitempty"`
Username *string `url:"username,omitempty" json:"username,omitempty"`
WebsiteURL *string `url:"website_url,omitempty" json:"website_url,omitempty"`
ViewDiffsFileByFile *bool `url:"view_diffs_file_by_file,omitempty" json:"view_diffs_file_by_file,omitempty"`
PublicEmail *string `url:"public_email,omitempty" json:"public_email,omitempty"`
Auditor *bool `url:"auditor,omitempty" json:"auditor,omitempty"`
ColorSchemeID *int `url:"color_scheme_id,omitempty" json:"color_scheme_id,omitempty"`
CommitEmail *string `url:"commit_email,omitempty" json:"commit_email,omitempty"`
Discord *string `url:"discord,omitempty" json:"discord,omitempty"`
// ExtraSharedRunnersMinutesLimit can only be set by administrators. Premium and Ultimate only.
Github *string `url:"github,omitempty" json:"github,omitempty"`
GroupIDForSAML *int `url:"group_id_for_saml,omitempty" json:"group_id_for_saml,omitempty"`
Pronouns *string `url:"pronouns,omitempty" json:"pronouns,omitempty"`
SharedRunnersMinutesLimit *int `url:"shared_runners_minutes_limit,omitempty" json:"shared_runners_minutes_limit,omitempty"`
}
CreateUserOptions represents the available CreateUser() options.
GitLab API docs: https://docs.gitlab.com/api/users/#create-a-user
type CreateUserRunnerOptions ¶
type CreateUserRunnerOptions struct {
RunnerType *string `url:"runner_type,omitempty" json:"runner_type,omitempty"`
GroupID *int64 `url:"group_id,omitempty" json:"group_id,omitempty"`
ProjectID *int64 `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 *int64 `url:"maximum_timeout,omitempty" json:"maximum_timeout,omitempty"`
MaintenanceNote *string `url:"maintenance_note,omitempty" json:"maintenance_note,omitempty"`
}
CreateUserRunnerOptions represents the available CreateUserRunner() options.
GitLab API docs: https://docs.gitlab.com/api/users/#create-a-runner-linked-to-a-user
type CreateVulnerabilityOptions ¶
type CreateVulnerabilityOptions struct {
FindingID *int64 `url:"finding_id,omitempty" json:"finding_id,omitempty"`
}
CreateVulnerabilityOptions represents the available CreateVulnerability() options. Deprecated: use GraphQL Query.vulnerabilities instead
GitLab API docs: https://docs.gitlab.com/api/project_vulnerabilities/#new-vulnerability
type CreateWikiPageOptions ¶
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"`
}
CreateWikiPageOptions represents options to CreateWikiPage.
GitLab API docs: https://docs.gitlab.com/api/wikis/#create-a-new-wiki-page
type CreateWorkItemOptions ¶
type CreateWorkItemOptions struct {
// Title of the work item. Required.
Title string
// Description of the work item.
Description *string
// Sets the work item confidentiality.
Confidential *bool
// Global IDs of assignees.
AssigneeIDs []int64
// Global ID of the milestone to assign to the work item.
MilestoneID *int64
// Source which triggered the creation of the work item. Used only for tracking purposes.
CreateSource *string
// Timestamp when the work item was created. Available only for admins and project owners.
CreatedAt *time.Time // admins and project owners only
// CRM contact IDs to set.
CRMContactIDs []int64
// Global ID of the parent work item.
ParentID *int64
// Global IDs of labels to be added to the work item.
LabelIDs []int64
// Linked work items to be added to the work item.
LinkedItems *CreateWorkItemOptionsLinkedItems
// Start date for the work item.
StartDate *ISOTime
// Due date for the work item.
DueDate *ISOTime
// Weight of the work item.
Weight *int64
// Health status to be assigned to the work item. Possible values: onTrack, needsAttention, atRisk
HealthStatus *string
// Global ID of the iteration to assign to the work item.
IterationID *int64
// Color of the work item, represented as a hex code or named color. Example: "#fefefe"
Color *string
}
CreateWorkItemOptions represents the available CreateWorkItem() options.
GitLab API docs: https://docs.gitlab.com/ee/api/graphql/reference/#workitemcreateinput
Experimental: The Work Items API is a work in progress and may introduce breaking changes even between minor versions.
type CreateWorkItemOptionsLinkedItems ¶
type CreateWorkItemOptionsLinkedItems struct {
LinkType *string // enum: BLOCKED_BY, BLOCKS, RELATED
WorkItemIDs []int64
}
CreateWorkItemOptionsLinkedItems represents linked items to be added to a work item.
Experimental: The Work Items API is a work in progress and may introduce breaking changes even between minor versions.
type CustomAttribute ¶
CustomAttribute struct is used to unmarshal response to api calls.
GitLab API docs: https://docs.gitlab.com/api/custom_attributes/
type CustomAttributesService ¶
type CustomAttributesService struct {
// contains filtered or unexported fields
}
CustomAttributesService handles communication with the group, project and user custom attributes related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/custom_attributes/
func (*CustomAttributesService) DeleteCustomGroupAttribute ¶
func (s *CustomAttributesService) DeleteCustomGroupAttribute(group int64, key string, options ...RequestOptionFunc) (*Response, error)
func (*CustomAttributesService) DeleteCustomProjectAttribute ¶
func (s *CustomAttributesService) DeleteCustomProjectAttribute(project int64, key string, options ...RequestOptionFunc) (*Response, error)
func (*CustomAttributesService) DeleteCustomUserAttribute ¶
func (s *CustomAttributesService) DeleteCustomUserAttribute(user int64, key string, options ...RequestOptionFunc) (*Response, error)
func (*CustomAttributesService) GetCustomGroupAttribute ¶
func (s *CustomAttributesService) GetCustomGroupAttribute(group int64, key string, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
func (*CustomAttributesService) GetCustomProjectAttribute ¶
func (s *CustomAttributesService) GetCustomProjectAttribute(project int64, key string, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
func (*CustomAttributesService) GetCustomUserAttribute ¶
func (s *CustomAttributesService) GetCustomUserAttribute(user int64, key string, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
func (*CustomAttributesService) ListCustomGroupAttributes ¶
func (s *CustomAttributesService) ListCustomGroupAttributes(group int64, options ...RequestOptionFunc) ([]*CustomAttribute, *Response, error)
func (*CustomAttributesService) ListCustomProjectAttributes ¶
func (s *CustomAttributesService) ListCustomProjectAttributes(project int64, options ...RequestOptionFunc) ([]*CustomAttribute, *Response, error)
func (*CustomAttributesService) ListCustomUserAttributes ¶
func (s *CustomAttributesService) ListCustomUserAttributes(user int64, options ...RequestOptionFunc) ([]*CustomAttribute, *Response, error)
func (*CustomAttributesService) SetCustomGroupAttribute ¶
func (s *CustomAttributesService) SetCustomGroupAttribute(group int64, c CustomAttribute, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
func (*CustomAttributesService) SetCustomProjectAttribute ¶
func (s *CustomAttributesService) SetCustomProjectAttribute(project int64, c CustomAttribute, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
func (*CustomAttributesService) SetCustomUserAttribute ¶
func (s *CustomAttributesService) SetCustomUserAttribute(user int64, c CustomAttribute, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
type CustomAttributesServiceInterface ¶
type CustomAttributesServiceInterface interface {
// ListCustomUserAttributes lists the custom attributes of the specified user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/custom_attributes/#list-custom-attributes
ListCustomUserAttributes(user int64, options ...RequestOptionFunc) ([]*CustomAttribute, *Response, error)
// ListCustomGroupAttributes lists the custom attributes of the specified group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/custom_attributes/#list-custom-attributes
ListCustomGroupAttributes(group int64, options ...RequestOptionFunc) ([]*CustomAttribute, *Response, error)
// ListCustomProjectAttributes lists the custom attributes of the specified project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/custom_attributes/#list-custom-attributes
ListCustomProjectAttributes(project int64, options ...RequestOptionFunc) ([]*CustomAttribute, *Response, error)
// GetCustomUserAttribute returns the user attribute with a specific key.
//
// GitLab API docs:
// https://docs.gitlab.com/api/custom_attributes/#single-custom-attribute
GetCustomUserAttribute(user int64, key string, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
// GetCustomGroupAttribute returns the group attribute with a specific key.
//
// GitLab API docs:
// https://docs.gitlab.com/api/custom_attributes/#single-custom-attribute
GetCustomGroupAttribute(group int64, key string, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
// GetCustomProjectAttribute returns the project attribute with a specific key.
//
// GitLab API docs:
// https://docs.gitlab.com/api/custom_attributes/#single-custom-attribute
GetCustomProjectAttribute(project int64, key string, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
// SetCustomUserAttribute sets the custom attributes of the specified user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/custom_attributes/#set-custom-attribute
SetCustomUserAttribute(user int64, c CustomAttribute, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
// SetCustomGroupAttribute sets the custom attributes of the specified group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/custom_attributes/#set-custom-attribute
SetCustomGroupAttribute(group int64, c CustomAttribute, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
// SetCustomProjectAttribute sets the custom attributes of the specified project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/custom_attributes/#set-custom-attribute
SetCustomProjectAttribute(project int64, c CustomAttribute, options ...RequestOptionFunc) (*CustomAttribute, *Response, error)
// DeleteCustomUserAttribute removes the custom attribute of the specified user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/custom_attributes/#delete-custom-attribute
DeleteCustomUserAttribute(user int64, key string, options ...RequestOptionFunc) (*Response, error)
// DeleteCustomGroupAttribute removes the custom attribute of the specified group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/custom_attributes/#delete-custom-attribute
DeleteCustomGroupAttribute(group int64, key string, options ...RequestOptionFunc) (*Response, error)
// DeleteCustomProjectAttribute removes the custom attribute of the specified project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/custom_attributes/#delete-custom-attribute
DeleteCustomProjectAttribute(project int64, key string, options ...RequestOptionFunc) (*Response, error)
}
type CustomIssueTrackerService ¶
type CustomIssueTrackerService struct {
Service
Properties *CustomIssueTrackerServiceProperties `json:"properties"`
}
CustomIssueTrackerService represents Custom Issue Tracker service settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#custom-issue-tracker
type CustomIssueTrackerServiceProperties ¶
type CustomIssueTrackerServiceProperties struct {
ProjectURL string `json:"project_url,omitempty"`
IssuesURL string `json:"issues_url,omitempty"`
NewIssueURL string `json:"new_issue_url,omitempty"`
}
CustomIssueTrackerServiceProperties represents Custom Issue Tracker specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#custom-issue-tracker
type DORAMetric ¶
DORAMetric represents a single DORA metric data point.
GitLab API docs: https://docs.gitlab.com/api/dora/metrics/
func (DORAMetric) String ¶
func (m DORAMetric) String() string
String gets a string representation of a DORAMetric data point
GitLab API docs: https://docs.gitlab.com/api/dora/metrics/
type DORAMetricInterval ¶
type DORAMetricInterval string
DORAMetricInterval represents the time period over which the metrics are aggregated.
GitLab API docs: https://docs.gitlab.com/api/dora/metrics/
const ( DORAMetricIntervalDaily DORAMetricInterval = "daily" DORAMetricIntervalMonthly DORAMetricInterval = "monthly" DORAMetricIntervalAll DORAMetricInterval = "all" )
List of available DORA metric interval types.
GitLab API docs: https://docs.gitlab.com/api/dora/metrics/
type DORAMetricType ¶
type DORAMetricType string
DORAMetricType represents all valid DORA metrics types.
GitLab API docs: https://docs.gitlab.com/api/dora/metrics/
const ( DORAMetricDeploymentFrequency DORAMetricType = "deployment_frequency" DORAMetricLeadTimeForChanges DORAMetricType = "lead_time_for_changes" DORAMetricTimeToRestoreService DORAMetricType = "time_to_restore_service" DORAMetricChangeFailureRate DORAMetricType = "change_failure_rate" )
List of available DORA metric type names.
GitLab API docs: https://docs.gitlab.com/api/dora/metrics/
type DORAMetricsService ¶
type DORAMetricsService struct {
// contains filtered or unexported fields
}
DORAMetricsService handles communication with the DORA metrics related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/dora/metrics/
func (*DORAMetricsService) GetGroupDORAMetrics ¶
func (s *DORAMetricsService) GetGroupDORAMetrics(gid any, opt GetDORAMetricsOptions, options ...RequestOptionFunc) ([]DORAMetric, *Response, error)
func (*DORAMetricsService) GetProjectDORAMetrics ¶
func (s *DORAMetricsService) GetProjectDORAMetrics(pid any, opt GetDORAMetricsOptions, options ...RequestOptionFunc) ([]DORAMetric, *Response, error)
type DORAMetricsServiceInterface ¶
type DORAMetricsServiceInterface interface {
// GetProjectDORAMetrics gets the DORA metrics for a project.
//
// GitLab API Docs:
// https://docs.gitlab.com/api/dora/metrics/#get-project-level-dora-metrics
GetProjectDORAMetrics(pid any, opt GetDORAMetricsOptions, options ...RequestOptionFunc) ([]DORAMetric, *Response, error)
// GetGroupDORAMetrics gets the DORA metrics for a group.
//
// GitLab API Docs:
// https://docs.gitlab.com/api/dora/metrics/#get-group-level-dora-metrics
GetGroupDORAMetrics(gid any, opt GetDORAMetricsOptions, options ...RequestOptionFunc) ([]DORAMetric, *Response, error)
}
DORAMetricsServiceInterface defines all the API methods for the DORAMetricsService
type DataDogService ¶
type DataDogService struct {
Service
Properties *DataDogServiceProperties `json:"properties"`
}
DataDogService represents DataDog service settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#datadog
type DataDogServiceProperties ¶
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"`
DataDogCIVisibility bool `url:"datadog_ci_visibility,omitempty" json:"datadog_ci_visibility,omitempty"`
UseInheritedSettings bool `url:"use_inherited_settings,omitempty" json:"use_inherited_settings,omitempty"`
}
DataDogServiceProperties represents DataDog specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#datadog
type DatabaseMigrationsService ¶
type DatabaseMigrationsService struct {
// contains filtered or unexported fields
}
DatabaseMigrationsService handles communication with the database migrations related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/database_migrations/
func (*DatabaseMigrationsService) MarkMigrationAsSuccessful ¶
func (s *DatabaseMigrationsService) MarkMigrationAsSuccessful(version int64, opt *MarkMigrationAsSuccessfulOptions, options ...RequestOptionFunc) (*Response, error)
type DatabaseMigrationsServiceInterface ¶
type DatabaseMigrationsServiceInterface interface {
// MarkMigrationAsSuccessful marks pending migrations as successfully executed
// to prevent them from being executed by the db:migrate tasks. Use this API to
// skip failing migrations after they are determined to be safe to skip.
//
// GitLab API docs:
// https://docs.gitlab.com/api/database_migrations/#mark-a-migration-as-successful
MarkMigrationAsSuccessful(version int64, opt *MarkMigrationAsSuccessfulOptions, options ...RequestOptionFunc) (*Response, error)
}
type DefaultBranchProtectionDefaultsOptions ¶
type DefaultBranchProtectionDefaultsOptions struct {
AllowedToPush *[]*GroupAccessLevel `url:"allowed_to_push,omitempty" json:"allowed_to_push,omitempty"`
AllowForcePush *bool `url:"allow_force_push,omitempty" json:"allow_force_push,omitempty"`
AllowedToMerge *[]*GroupAccessLevel `url:"allowed_to_merge,omitempty" json:"allowed_to_merge,omitempty"`
DeveloperCanInitialPush *bool `url:"developer_can_initial_push,omitempty" json:"developer_can_initial_push,omitempty"`
CodeOwnerApprovalRequired *bool `url:"code_owner_approval_required,omitempty" json:"code_owner_approval_required,omitempty"`
}
DefaultBranchProtectionDefaultsOptions represents the available options for using default_branch_protection_defaults in CreateGroup() or UpdateGroup()
GitLab API docs: https://docs.gitlab.com/api/groups/#options-for-default_branch_protection_defaults
func (*DefaultBranchProtectionDefaultsOptions) EncodeValues ¶
func (d *DefaultBranchProtectionDefaultsOptions) EncodeValues(key string, v *url.Values) error
EncodeValues implements the query.Encoder interface
type DeleteEnterpriseUserOptions ¶
type DeleteEnterpriseUserOptions struct {
HardDelete *bool `url:"hard_delete,omitempty" json:"hard_delete,omitempty"`
}
DeleteEnterpriseUserOptions represents the available DeleteEnterpriseUser options.
GitLab API docs: https://docs.gitlab.com/api/group_enterprise_users/#delete-an-enterprise-user
type DeleteFileOptions ¶
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"`
}
DeleteFileOptions represents the available DeleteFile() options.
GitLab API docs: https://docs.gitlab.com/api/repository_files/#delete-existing-file-in-repository
type DeleteGroupLDAPLinkWithCNOrFilterOptions ¶
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"`
}
DeleteGroupLDAPLinkWithCNOrFilterOptions represents the available DeleteGroupLDAPLinkWithCNOrFilter() options.
GitLab API docs: https://docs.gitlab.com/api/group_ldap_links/#delete-an-ldap-group-link-with-cn-or-filter
type DeleteGroupLabelOptions ¶
type DeleteGroupLabelOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
}
DeleteGroupLabelOptions represents the available DeleteGroupLabel() options.
GitLab API docs: https://docs.gitlab.com/api/group_labels/#delete-a-group-label
type DeleteGroupOptions ¶
type DeleteGroupOptions struct {
PermanentlyRemove *bool `url:"permanently_remove,omitempty" json:"permanently_remove,omitempty"`
FullPath *string `url:"full_path,omitempty" json:"full_path,omitempty"`
}
DeleteGroupOptions represents the available DeleteGroup() options.
GitLab API docs: https://docs.gitlab.com/api/groups/#delete-a-group
type DeleteLabelOptions ¶
type DeleteLabelOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
}
DeleteLabelOptions represents the available DeleteLabel() options.
GitLab API docs: https://docs.gitlab.com/api/labels/#delete-a-label
type DeleteMergeRequestContextCommitsOptions ¶
type DeleteMergeRequestContextCommitsOptions struct {
Commits *[]string `url:"commits,omitempty" json:"commits,omitempty"`
}
DeleteMergeRequestContextCommitsOptions represents the available DeleteMergeRequestContextCommits() options.
GitLab API docs: https://docs.gitlab.com/api/merge_request_context_commits/#delete-mr-context-commits
type DeleteProjectExternalStatusCheckOptions ¶
type DeleteProjectExternalStatusCheckOptions struct{}
DeleteProjectExternalStatusCheckOptions represents the available DeleteProjectExternalStatusCheck() options.
GitLab API docs: https://docs.gitlab.com/api/status_checks/#delete-external-status-check-service
type DeleteProjectOptions ¶
type DeleteProjectOptions struct {
FullPath *string `url:"full_path" json:"full_path"`
PermanentlyRemove *bool `url:"permanently_remove" json:"permanently_remove"`
}
DeleteProjectOptions represents the available DeleteProject() options.
GitLab API docs: https://docs.gitlab.com/api/projects/#delete-a-project
type DeleteRegisteredRunnerOptions ¶
type DeleteRegisteredRunnerOptions struct {
Token *string `url:"token" json:"token"`
}
DeleteRegisteredRunnerOptions represents the available DeleteRegisteredRunner() options.
GitLab API docs: https://docs.gitlab.com/api/runners/#delete-a-runner-by-authentication-token
type DeleteRegistryRepositoryTagsOptions ¶
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 *int64 `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"`
}
DeleteRegistryRepositoryTagsOptions represents the available DeleteRegistryRepositoryTags() options.
GitLab API docs: https://docs.gitlab.com/api/container_registry/#delete-registry-repository-tags-in-bulk
type DeleteServiceAccountOptions ¶
type DeleteServiceAccountOptions struct {
HardDelete *bool `url:"hard_delete,omitempty" json:"hard_delete,omitempty"`
}
DeleteServiceAccountOptions represents the available DeleteServiceAccount() options.
GitLab API docs: https://docs.gitlab.com/api/service_accounts/#delete-a-group-service-account
type DependenciesService ¶
type DependenciesService struct {
// contains filtered or unexported fields
}
DependenciesService handles communication with the dependencies related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/dependencies/
func (*DependenciesService) ListProjectDependencies ¶
func (s *DependenciesService) ListProjectDependencies(pid any, opt *ListProjectDependenciesOptions, options ...RequestOptionFunc) ([]*Dependency, *Response, error)
type DependenciesServiceInterface ¶
type DependenciesServiceInterface interface {
// ListProjectDependencies Get a list of project dependencies. This API partially
// mirroring Dependency List feature. This list can be generated only for languages
// and package managers supported by Gemnasium.
//
// GitLab API docs:
// https://docs.gitlab.com/api/dependencies/#list-project-dependencies
ListProjectDependencies(pid any, opt *ListProjectDependenciesOptions, options ...RequestOptionFunc) ([]*Dependency, *Response, error)
}
type Dependency ¶
type Dependency struct {
Name string `url:"name" json:"name"`
Version string `url:"version" json:"version"`
PackageManager DependencyPackageManagerValue `url:"package_manager" json:"package_manager"`
DependencyFilePath string `url:"dependency_file_path" json:"dependency_file_path"`
Vulnerabilities []*DependencyVulnerability `url:"vulnerabilities" json:"vulnerabilities"`
Licenses []*DependencyLicense `url:"licenses" json:"licenses"`
}
Dependency represents a project dependency.
GitLab API docs: https://docs.gitlab.com/api/dependencies/
type DependencyLicense ¶
type DependencyLicense struct {
Name string `url:"name" json:"name"`
URL string `url:"url" json:"url"`
}
DependencyLicense represents a project dependency license.
GitLab API docs: https://docs.gitlab.com/api/dependencies/
type DependencyListExport ¶
type DependencyListExport struct {
ID int64 `json:"id"`
HasFinished bool `json:"has_finished"`
Self string `json:"self"`
Download string `json:"download"`
}
DependencyListExport represents a request for a GitLab project's dependency list.
GitLab API docs: https://docs.gitlab.com/api/dependency_list_export/#create-a-dependency-list-export
type DependencyListExportService ¶
type DependencyListExportService struct {
// contains filtered or unexported fields
}
DependencyListExportService handles communication with the dependency list export related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/dependency_list_export/
func (*DependencyListExportService) CreateDependencyListExport ¶
func (s *DependencyListExportService) CreateDependencyListExport(pipelineID int64, opt *CreateDependencyListExportOptions, options ...RequestOptionFunc) (*DependencyListExport, *Response, error)
func (*DependencyListExportService) DownloadDependencyListExport ¶
func (s *DependencyListExportService) DownloadDependencyListExport(id int64, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
func (*DependencyListExportService) GetDependencyListExport ¶
func (s *DependencyListExportService) GetDependencyListExport(id int64, options ...RequestOptionFunc) (*DependencyListExport, *Response, error)
type DependencyListExportServiceInterface ¶
type DependencyListExportServiceInterface interface {
// CreateDependencyListExport creates a new CycloneDX JSON export for all the project dependencies
// detected in a pipeline.
//
// If an authenticated user does not have permission to read_dependency, this request returns a 403
// Forbidden status code.
//
// SBOM exports can be only accessed by the export’s author.
//
// GitLab docs:
// https://docs.gitlab.com/api/dependency_list_export/#create-a-dependency-list-export
CreateDependencyListExport(pipelineID int64, opt *CreateDependencyListExportOptions, options ...RequestOptionFunc) (*DependencyListExport, *Response, error)
// GetDependencyListExport gets metadata about a single dependency list export.
//
// GitLab docs:
// https://docs.gitlab.com/api/dependency_list_export/#get-single-dependency-list-export
GetDependencyListExport(id int64, options ...RequestOptionFunc) (*DependencyListExport, *Response, error)
// DownloadDependencyListExport downloads a single dependency list export.
//
// The returned io.ReadCloser must be closed by the caller to avoid
// leaking the underlying response body.
//
// The github.com/CycloneDX/cyclonedx-go package can be used to parse the data from the returned io.ReadCloser.
//
// sbom := new(cdx.BOM)
// decoder := cdx.NewBOMDecoder(reader, cdx.BOMFileFormatJSON)
//
// if err = decoder.Decode(sbom); err != nil {
// panic(err)
// }
//
// GitLab docs:
// https://docs.gitlab.com/api/dependency_list_export/#download-dependency-list-export
DownloadDependencyListExport(id int64, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
}
type DependencyPackageManagerValue ¶
type DependencyPackageManagerValue string
DependencyPackageManagerValue represents a dependency package manager.
GitLab API docs: https://docs.gitlab.com/api/dependencies/
const ( Bundler DependencyPackageManagerValue = "bundler" Composer DependencyPackageManagerValue = "composer" Conan DependencyPackageManagerValue = "conan" Go DependencyPackageManagerValue = "go" Gradle DependencyPackageManagerValue = "gradle" Maven DependencyPackageManagerValue = "maven" NPM DependencyPackageManagerValue = "npm" NuGet DependencyPackageManagerValue = "nuget" Pip DependencyPackageManagerValue = "pip" Pipenv DependencyPackageManagerValue = "pipenv" PNPM DependencyPackageManagerValue = "pnpm" Yarn DependencyPackageManagerValue = "yarn" SBT DependencyPackageManagerValue = "sbt" Setuptools DependencyPackageManagerValue = "setuptools" )
List of available package manager for dependencies
GitLab API docs: https://docs.gitlab.com/api/dependencies/
type DependencyProxyService ¶
type DependencyProxyService struct {
// contains filtered or unexported fields
}
DependencyProxyService handles communication with the dependency proxy related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/dependency_proxy/
func (*DependencyProxyService) PurgeGroupDependencyProxy ¶
func (s *DependencyProxyService) PurgeGroupDependencyProxy(gid any, options ...RequestOptionFunc) (*Response, error)
type DependencyProxyServiceInterface ¶
type DependencyProxyServiceInterface interface {
// PurgeGroupDependencyProxy schedules for deletion the cached manifests and blobs
// for a group. This endpoint requires the Owner role for the group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/dependency_proxy/#purge-the-dependency-proxy-for-a-group
PurgeGroupDependencyProxy(gid any, options ...RequestOptionFunc) (*Response, error)
}
type DependencyVulnerability ¶
type DependencyVulnerability struct {
Name string `url:"name" json:"name"`
Severity string `url:"severity" json:"severity"`
ID int64 `url:"id" json:"id"`
URL string `url:"url" json:"url"`
}
DependencyVulnerability represents a project dependency vulnerability.
GitLab API docs: https://docs.gitlab.com/api/dependencies/
type DeployKeyProject ¶
type DeployKeyProject struct {
ID int64 `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"`
}
DeployKeyProject refers to a project an InstanceDeployKey has write access to.
func (DeployKeyProject) String ¶
func (k DeployKeyProject) String() string
type DeployKeysService ¶
type DeployKeysService struct {
// contains filtered or unexported fields
}
DeployKeysService handles communication with the keys related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/deploy_keys/
func (*DeployKeysService) AddDeployKey ¶
func (s *DeployKeysService) AddDeployKey(pid any, opt *AddDeployKeyOptions, options ...RequestOptionFunc) (*ProjectDeployKey, *Response, error)
func (*DeployKeysService) AddInstanceDeployKey ¶
func (s *DeployKeysService) AddInstanceDeployKey(opt *AddInstanceDeployKeyOptions, options ...RequestOptionFunc) (*InstanceDeployKey, *Response, error)
func (*DeployKeysService) DeleteDeployKey ¶
func (s *DeployKeysService) DeleteDeployKey(pid any, deployKey int64, options ...RequestOptionFunc) (*Response, error)
func (*DeployKeysService) EnableDeployKey ¶
func (s *DeployKeysService) EnableDeployKey(pid any, deployKey int64, options ...RequestOptionFunc) (*ProjectDeployKey, *Response, error)
func (*DeployKeysService) GetDeployKey ¶
func (s *DeployKeysService) GetDeployKey(pid any, deployKey int64, options ...RequestOptionFunc) (*ProjectDeployKey, *Response, error)
func (*DeployKeysService) ListAllDeployKeys ¶
func (s *DeployKeysService) ListAllDeployKeys(opt *ListInstanceDeployKeysOptions, options ...RequestOptionFunc) ([]*InstanceDeployKey, *Response, error)
func (*DeployKeysService) ListProjectDeployKeys ¶
func (s *DeployKeysService) ListProjectDeployKeys(pid any, opt *ListProjectDeployKeysOptions, options ...RequestOptionFunc) ([]*ProjectDeployKey, *Response, error)
func (*DeployKeysService) ListUserProjectDeployKeys ¶
func (s *DeployKeysService) ListUserProjectDeployKeys(uid any, opt *ListUserProjectDeployKeysOptions, options ...RequestOptionFunc) ([]*ProjectDeployKey, *Response, error)
ListUserProjectDeployKeys gets a list of a user's deploy keys.
uid can be either a user ID (int) or a username (string). If a username is provided with a leading "@" (e.g., "@johndoe"), it will be trimmed.
GitLab API docs: https://docs.gitlab.com/api/deploy_keys/#list-project-deploy-keys-for-user
func (*DeployKeysService) UpdateDeployKey ¶
func (s *DeployKeysService) UpdateDeployKey(pid any, deployKey int64, opt *UpdateDeployKeyOptions, options ...RequestOptionFunc) (*ProjectDeployKey, *Response, error)
type DeployKeysServiceInterface ¶
type DeployKeysServiceInterface interface {
// ListAllDeployKeys gets a list of all deploy keys.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deploy_keys/#list-all-deploy-keys
// ListAllDeployKeys gets a list of all deploy keys.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deploy_keys/#list-all-deploy-keys
ListAllDeployKeys(opt *ListInstanceDeployKeysOptions, options ...RequestOptionFunc) ([]*InstanceDeployKey, *Response, error)
// AddInstanceDeployKey creates a deploy key for the GitLab instance.
// Requires administrator access.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deploy_keys/#add-deploy-key
AddInstanceDeployKey(opt *AddInstanceDeployKeyOptions, options ...RequestOptionFunc) (*InstanceDeployKey, *Response, error)
// ListProjectDeployKeys gets a list of a project's deploy keys.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deploy_keys/#list-deploy-keys-for-project
ListProjectDeployKeys(pid any, opt *ListProjectDeployKeysOptions, options ...RequestOptionFunc) ([]*ProjectDeployKey, *Response, error)
// ListUserProjectDeployKeys gets a list of a user's deploy keys.
//
// uid can be either a user ID (int) or a username (string). If a username
// is provided with a leading "@" (e.g., "@johndoe"), it will be trimmed.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deploy_keys/#list-project-deploy-keys-for-user
ListUserProjectDeployKeys(uid any, opt *ListUserProjectDeployKeysOptions, options ...RequestOptionFunc) ([]*ProjectDeployKey, *Response, error)
// GetDeployKey gets a single deploy key.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deploy_keys/#get-a-single-deploy-key
GetDeployKey(pid any, deployKey int64, options ...RequestOptionFunc) (*ProjectDeployKey, *Response, error)
// AddDeployKey creates a new deploy key for a project. If the deploy key already
// exists in another project, it will be joined to the project but only if
// the original one is accessible by the same user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deploy_keys/#add-deploy-key-for-a-project
AddDeployKey(pid any, opt *AddDeployKeyOptions, options ...RequestOptionFunc) (*ProjectDeployKey, *Response, error)
// DeleteDeployKey deletes a deploy key from a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deploy_keys/#delete-deploy-key
DeleteDeployKey(pid any, deployKey int64, options ...RequestOptionFunc) (*Response, error)
// EnableDeployKey enables a deploy key.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deploy_keys/#enable-a-deploy-key
EnableDeployKey(pid any, deployKey int64, options ...RequestOptionFunc) (*ProjectDeployKey, *Response, error)
// UpdateDeployKey updates a deploy key for a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deploy_keys/#update-deploy-key
UpdateDeployKey(pid any, deployKey int64, opt *UpdateDeployKeyOptions, options ...RequestOptionFunc) (*ProjectDeployKey, *Response, error)
}
type DeployToken ¶
type DeployToken struct {
ID int64 `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"`
}
DeployToken represents a GitLab deploy token.
func (DeployToken) String ¶
func (k DeployToken) String() string
type DeployTokensService ¶
type DeployTokensService struct {
// contains filtered or unexported fields
}
DeployTokensService handles communication with the deploy tokens related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/deploy_tokens/
func (*DeployTokensService) CreateGroupDeployToken ¶
func (s *DeployTokensService) CreateGroupDeployToken(gid any, opt *CreateGroupDeployTokenOptions, options ...RequestOptionFunc) (*DeployToken, *Response, error)
func (*DeployTokensService) CreateProjectDeployToken ¶
func (s *DeployTokensService) CreateProjectDeployToken(pid any, opt *CreateProjectDeployTokenOptions, options ...RequestOptionFunc) (*DeployToken, *Response, error)
func (*DeployTokensService) DeleteGroupDeployToken ¶
func (s *DeployTokensService) DeleteGroupDeployToken(gid any, deployToken int64, options ...RequestOptionFunc) (*Response, error)
func (*DeployTokensService) DeleteProjectDeployToken ¶
func (s *DeployTokensService) DeleteProjectDeployToken(pid any, deployToken int64, options ...RequestOptionFunc) (*Response, error)
func (*DeployTokensService) GetGroupDeployToken ¶
func (s *DeployTokensService) GetGroupDeployToken(gid any, deployToken int64, options ...RequestOptionFunc) (*DeployToken, *Response, error)
func (*DeployTokensService) GetProjectDeployToken ¶
func (s *DeployTokensService) GetProjectDeployToken(pid any, deployToken int64, options ...RequestOptionFunc) (*DeployToken, *Response, error)
func (*DeployTokensService) ListAllDeployTokens ¶
func (s *DeployTokensService) ListAllDeployTokens(options ...RequestOptionFunc) ([]*DeployToken, *Response, error)
func (*DeployTokensService) ListGroupDeployTokens ¶
func (s *DeployTokensService) ListGroupDeployTokens(gid any, opt *ListGroupDeployTokensOptions, options ...RequestOptionFunc) ([]*DeployToken, *Response, error)
func (*DeployTokensService) ListProjectDeployTokens ¶
func (s *DeployTokensService) ListProjectDeployTokens(pid any, opt *ListProjectDeployTokensOptions, options ...RequestOptionFunc) ([]*DeployToken, *Response, error)
type DeployTokensServiceInterface ¶
type DeployTokensServiceInterface interface {
// ListAllDeployTokens gets a list of all deploy tokens.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deploy_tokens/#list-all-deploy-tokens
// ListAllDeployTokens gets a list of all deploy tokens.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deploy_tokens/#list-all-deploy-tokens
ListAllDeployTokens(options ...RequestOptionFunc) ([]*DeployToken, *Response, error)
// ListProjectDeployTokens gets a list of a project's deploy tokens.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deploy_tokens/#list-project-deploy-tokens
ListProjectDeployTokens(pid any, opt *ListProjectDeployTokensOptions, options ...RequestOptionFunc) ([]*DeployToken, *Response, error)
// GetProjectDeployToken gets a single deploy token.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deploy_tokens/#get-a-project-deploy-token
GetProjectDeployToken(pid any, deployToken int64, options ...RequestOptionFunc) (*DeployToken, *Response, error)
// CreateProjectDeployToken creates a new deploy token for a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deploy_tokens/#create-a-project-deploy-token
CreateProjectDeployToken(pid any, opt *CreateProjectDeployTokenOptions, options ...RequestOptionFunc) (*DeployToken, *Response, error)
// DeleteProjectDeployToken removes a deploy token from the project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deploy_tokens/#delete-a-project-deploy-token
DeleteProjectDeployToken(pid any, deployToken int64, options ...RequestOptionFunc) (*Response, error)
// ListGroupDeployTokens gets a list of a group’s deploy tokens.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deploy_tokens/#list-group-deploy-tokens
ListGroupDeployTokens(gid any, opt *ListGroupDeployTokensOptions, options ...RequestOptionFunc) ([]*DeployToken, *Response, error)
// GetGroupDeployToken gets a single deploy token.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deploy_tokens/#get-a-group-deploy-token
GetGroupDeployToken(gid any, deployToken int64, options ...RequestOptionFunc) (*DeployToken, *Response, error)
// CreateGroupDeployToken creates a new deploy token for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deploy_tokens/#create-a-group-deploy-token
CreateGroupDeployToken(gid any, opt *CreateGroupDeployTokenOptions, options ...RequestOptionFunc) (*DeployToken, *Response, error)
// DeleteGroupDeployToken removes a deploy token from the group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deploy_tokens/#delete-a-group-deploy-token
DeleteGroupDeployToken(gid any, deployToken int64, options ...RequestOptionFunc) (*Response, error)
}
type Deployment ¶
type Deployment struct {
ID int64 `json:"id"`
IID int64 `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 DeploymentDeployable `json:"deployable"`
}
Deployment represents the GitLab deployment
type DeploymentApprovalStatus ¶
type DeploymentApprovalStatus string
DeploymentApprovalStatus represents a GitLab deployment approval status.
const ( DeploymentApprovalStatusApproved DeploymentApprovalStatus = "approved" DeploymentApprovalStatusRejected DeploymentApprovalStatus = "rejected" )
These constants represent all valid deployment approval statuses.
type DeploymentDeployable ¶
type DeploymentDeployable struct {
ID int64 `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 DeploymentDeployablePipeline `json:"pipeline"`
Runner *Runner `json:"runner"`
}
DeploymentDeployable represents the Gitlab deployment deployable
type DeploymentDeployablePipeline ¶
type DeploymentDeployablePipeline struct {
ID int64 `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"`
}
DeploymentDeployablePipeline represents the Gitlab deployment deployable pipeline
type DeploymentEvent ¶
type DeploymentEvent struct {
ObjectKind string `json:"object_kind"`
Status string `json:"status"`
StatusChangedAt string `json:"status_changed_at"`
DeploymentID int64 `json:"deployment_id"`
DeployableID int64 `json:"deployable_id"`
DeployableURL string `json:"deployable_url"`
Environment string `json:"environment"`
EnvironmentSlug string `json:"environment_slug"`
EnvironmentExternalURL string `json:"environment_external_url"`
Project DeploymentEventProject `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"`
}
DeploymentEvent represents a deployment event.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#deployment-events
type DeploymentEventProject ¶
type DeploymentEventProject struct {
ID int64 `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"`
VisibilityLevel int64 `json:"visibility_level"`
CIConfigPath string `json:"ci_config_path"`
}
type DeploymentMergeRequestsService ¶
type DeploymentMergeRequestsService struct {
// contains filtered or unexported fields
}
DeploymentMergeRequestsService handles communication with the deployment's merge requests related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/deployments/#list-of-merge-requests-associated-with-a-deployment
func (*DeploymentMergeRequestsService) ListDeploymentMergeRequests ¶
func (s *DeploymentMergeRequestsService) ListDeploymentMergeRequests(pid any, deployment int64, opts *ListMergeRequestsOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)
type DeploymentMergeRequestsServiceInterface ¶
type DeploymentMergeRequestsServiceInterface interface {
// ListDeploymentMergeRequests get the merge requests associated with deployment.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deployments/#list-of-merge-requests-associated-with-a-deployment
ListDeploymentMergeRequests(pid any, deployment int64, opts *ListMergeRequestsOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)
}
DeploymentMergeRequestsServiceInterface defines all the API methods for the DeploymentMergeRequestsService
type DeploymentStatusValue ¶
type DeploymentStatusValue string
DeploymentStatusValue represents a GitLab deployment status.
const ( DeploymentStatusCreated DeploymentStatusValue = "created" DeploymentStatusRunning DeploymentStatusValue = "running" DeploymentStatusSuccess DeploymentStatusValue = "success" DeploymentStatusFailed DeploymentStatusValue = "failed" DeploymentStatusCanceled DeploymentStatusValue = "canceled" )
These constants represent all valid deployment statuses.
type DeploymentsService ¶
type DeploymentsService struct {
// contains filtered or unexported fields
}
DeploymentsService handles communication with the deployment related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/deployments/
func (*DeploymentsService) ApproveOrRejectProjectDeployment ¶
func (s *DeploymentsService) ApproveOrRejectProjectDeployment(pid any, deployment int64, opt *ApproveOrRejectProjectDeploymentOptions, options ...RequestOptionFunc) (*Response, error)
func (*DeploymentsService) CreateProjectDeployment ¶
func (s *DeploymentsService) CreateProjectDeployment(pid any, opt *CreateProjectDeploymentOptions, options ...RequestOptionFunc) (*Deployment, *Response, error)
func (*DeploymentsService) DeleteProjectDeployment ¶
func (s *DeploymentsService) DeleteProjectDeployment(pid any, deployment int64, options ...RequestOptionFunc) (*Response, error)
func (*DeploymentsService) GetProjectDeployment ¶
func (s *DeploymentsService) GetProjectDeployment(pid any, deployment int64, options ...RequestOptionFunc) (*Deployment, *Response, error)
func (*DeploymentsService) ListProjectDeployments ¶
func (s *DeploymentsService) ListProjectDeployments(pid any, opts *ListProjectDeploymentsOptions, options ...RequestOptionFunc) ([]*Deployment, *Response, error)
func (*DeploymentsService) UpdateProjectDeployment ¶
func (s *DeploymentsService) UpdateProjectDeployment(pid any, deployment int64, opt *UpdateProjectDeploymentOptions, options ...RequestOptionFunc) (*Deployment, *Response, error)
type DeploymentsServiceInterface ¶
type DeploymentsServiceInterface interface {
// ListProjectDeployments gets a list of deployments in a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deployments/#list-project-deployments
// ListProjectDeployments gets a list of deployments in a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deployments/#list-project-deployments
ListProjectDeployments(pid any, opts *ListProjectDeploymentsOptions, options ...RequestOptionFunc) ([]*Deployment, *Response, error)
// GetProjectDeployment gets a specific deployment for a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deployments/#get-a-specific-deployment
GetProjectDeployment(pid any, deployment int64, options ...RequestOptionFunc) (*Deployment, *Response, error)
// CreateProjectDeployment creates a project deployment.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deployments/#create-a-deployment
CreateProjectDeployment(pid any, opt *CreateProjectDeploymentOptions, options ...RequestOptionFunc) (*Deployment, *Response, error)
// UpdateProjectDeployment updates a project deployment.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deployments/#update-a-deployment
UpdateProjectDeployment(pid any, deployment int64, opt *UpdateProjectDeploymentOptions, options ...RequestOptionFunc) (*Deployment, *Response, error)
// ApproveOrRejectProjectDeployment approves or rejects a blocked deployment.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deployments/#approve-or-reject-a-blocked-deployment
ApproveOrRejectProjectDeployment(pid any, deployment int64, opt *ApproveOrRejectProjectDeploymentOptions, options ...RequestOptionFunc) (*Response, error)
// DeleteProjectDeployment deletes a specific deployment.
//
// GitLab API docs:
// https://docs.gitlab.com/api/deployments/#delete-a-specific-deployment
DeleteProjectDeployment(pid any, deployment int64, options ...RequestOptionFunc) (*Response, error)
}
DeploymentsServiceInterface defines all the API methods for the DeploymentsService
type DetailedStatus ¶
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 DetailedStatusIllustration `json:"illustration"`
Favicon string `json:"favicon"`
}
DetailedStatus contains detailed information about the status of a pipeline.
func (DetailedStatus) String ¶
func (s DetailedStatus) String() string
type DetailedStatusIllustration ¶
type DetailedStatusIllustration struct {
Image string `json:"image"`
}
DetailedStatusIllustration contains detailed information about the status illustration of a pipeline.
func (DetailedStatusIllustration) String ¶
func (i DetailedStatusIllustration) String() string
type Diff ¶
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"`
}
Diff represents a GitLab diff.
GitLab API docs: https://docs.gitlab.com/api/commits/
type DiscordIntegration ¶
type DiscordIntegration struct {
Integration
Properties DiscordIntegrationProperties `json:"properties"`
}
DiscordIntegration represents the Discord integration settings.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#discord
type DiscordIntegrationProperties ¶
type DiscordIntegrationProperties struct {
NotifyOnlyBrokenPipelines bool `json:"notify_only_broken_pipelines,omitempty"`
BranchesToBeNotified string `json:"branches_to_be_notified,omitempty"`
}
DiscordIntegrationProperties represents Discord specific properties.
type DiscordService ¶
type DiscordService struct {
Service
Properties *DiscordServiceProperties `json:"properties"`
}
DiscordService represents Discord service settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#discord-notifications
type DiscordServiceProperties ¶
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"`
}
DiscordServiceProperties represents Discord specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#discord-notifications
type Discussion ¶
type Discussion struct {
ID string `json:"id"`
IndividualNote bool `json:"individual_note"`
Notes []*Note `json:"notes"`
}
Discussion represents a GitLab discussion.
GitLab API docs: https://docs.gitlab.com/api/discussions/
func (Discussion) String ¶
func (d Discussion) String() string
type DiscussionsService ¶
type DiscussionsService struct {
// contains filtered or unexported fields
}
DiscussionsService handles communication with the discussions related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/discussions/
func (*DiscussionsService) AddCommitDiscussionNote ¶
func (s *DiscussionsService) AddCommitDiscussionNote(pid any, commit string, discussion string, opt *AddCommitDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
func (*DiscussionsService) AddEpicDiscussionNote ¶
func (s *DiscussionsService) AddEpicDiscussionNote(gid any, epic int64, discussion string, opt *AddEpicDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
func (*DiscussionsService) AddIssueDiscussionNote ¶
func (s *DiscussionsService) AddIssueDiscussionNote(pid any, issue int64, discussion string, opt *AddIssueDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
func (*DiscussionsService) AddMergeRequestDiscussionNote ¶
func (s *DiscussionsService) AddMergeRequestDiscussionNote(pid any, mergeRequest int64, discussion string, opt *AddMergeRequestDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
func (*DiscussionsService) AddSnippetDiscussionNote ¶
func (s *DiscussionsService) AddSnippetDiscussionNote(pid any, snippet int64, discussion string, opt *AddSnippetDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
func (*DiscussionsService) CreateCommitDiscussion ¶
func (s *DiscussionsService) CreateCommitDiscussion(pid any, commit string, opt *CreateCommitDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)
func (*DiscussionsService) CreateEpicDiscussion ¶
func (s *DiscussionsService) CreateEpicDiscussion(gid any, epic int64, opt *CreateEpicDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)
func (*DiscussionsService) CreateIssueDiscussion ¶
func (s *DiscussionsService) CreateIssueDiscussion(pid any, issue int64, opt *CreateIssueDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)
func (*DiscussionsService) CreateMergeRequestDiscussion ¶
func (s *DiscussionsService) CreateMergeRequestDiscussion(pid any, mergeRequest int64, opt *CreateMergeRequestDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)
func (*DiscussionsService) CreateSnippetDiscussion ¶
func (s *DiscussionsService) CreateSnippetDiscussion(pid any, snippet int64, opt *CreateSnippetDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)
func (*DiscussionsService) DeleteCommitDiscussionNote ¶
func (s *DiscussionsService) DeleteCommitDiscussionNote(pid any, commit string, discussion string, note int64, options ...RequestOptionFunc) (*Response, error)
func (*DiscussionsService) DeleteEpicDiscussionNote ¶
func (s *DiscussionsService) DeleteEpicDiscussionNote(gid any, epic int64, discussion string, note int64, options ...RequestOptionFunc) (*Response, error)
func (*DiscussionsService) DeleteIssueDiscussionNote ¶
func (s *DiscussionsService) DeleteIssueDiscussionNote(pid any, issue int64, discussion string, note int64, options ...RequestOptionFunc) (*Response, error)
func (*DiscussionsService) DeleteMergeRequestDiscussionNote ¶
func (s *DiscussionsService) DeleteMergeRequestDiscussionNote(pid any, mergeRequest int64, discussion string, note int64, options ...RequestOptionFunc) (*Response, error)
func (*DiscussionsService) DeleteSnippetDiscussionNote ¶
func (s *DiscussionsService) DeleteSnippetDiscussionNote(pid any, snippet int64, discussion string, note int64, options ...RequestOptionFunc) (*Response, error)
func (*DiscussionsService) GetCommitDiscussion ¶
func (s *DiscussionsService) GetCommitDiscussion(pid any, commit string, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)
func (*DiscussionsService) GetEpicDiscussion ¶
func (s *DiscussionsService) GetEpicDiscussion(gid any, epic int64, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)
func (*DiscussionsService) GetIssueDiscussion ¶
func (s *DiscussionsService) GetIssueDiscussion(pid any, issue int64, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)
func (*DiscussionsService) GetMergeRequestDiscussion ¶
func (s *DiscussionsService) GetMergeRequestDiscussion(pid any, mergeRequest int64, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)
func (*DiscussionsService) GetSnippetDiscussion ¶
func (s *DiscussionsService) GetSnippetDiscussion(pid any, snippet int64, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)
func (*DiscussionsService) ListCommitDiscussions ¶
func (s *DiscussionsService) ListCommitDiscussions(pid any, commit string, opt *ListCommitDiscussionsOptions, options ...RequestOptionFunc) ([]*Discussion, *Response, error)
func (*DiscussionsService) ListGroupEpicDiscussions ¶
func (s *DiscussionsService) ListGroupEpicDiscussions(gid any, epic int64, opt *ListGroupEpicDiscussionsOptions, options ...RequestOptionFunc) ([]*Discussion, *Response, error)
func (*DiscussionsService) ListIssueDiscussions ¶
func (s *DiscussionsService) ListIssueDiscussions(pid any, issue int64, opt *ListIssueDiscussionsOptions, options ...RequestOptionFunc) ([]*Discussion, *Response, error)
func (*DiscussionsService) ListMergeRequestDiscussions ¶
func (s *DiscussionsService) ListMergeRequestDiscussions(pid any, mergeRequest int64, opt *ListMergeRequestDiscussionsOptions, options ...RequestOptionFunc) ([]*Discussion, *Response, error)
func (*DiscussionsService) ListSnippetDiscussions ¶
func (s *DiscussionsService) ListSnippetDiscussions(pid any, snippet int64, opt *ListSnippetDiscussionsOptions, options ...RequestOptionFunc) ([]*Discussion, *Response, error)
func (*DiscussionsService) ResolveMergeRequestDiscussion ¶
func (s *DiscussionsService) ResolveMergeRequestDiscussion(pid any, mergeRequest int64, discussion string, opt *ResolveMergeRequestDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)
func (*DiscussionsService) UpdateCommitDiscussionNote ¶
func (s *DiscussionsService) UpdateCommitDiscussionNote(pid any, commit string, discussion string, note int64, opt *UpdateCommitDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
func (*DiscussionsService) UpdateEpicDiscussionNote ¶
func (s *DiscussionsService) UpdateEpicDiscussionNote(gid any, epic int64, discussion string, note int64, opt *UpdateEpicDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
func (*DiscussionsService) UpdateIssueDiscussionNote ¶
func (s *DiscussionsService) UpdateIssueDiscussionNote(pid any, issue int64, discussion string, note int64, opt *UpdateIssueDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
func (*DiscussionsService) UpdateMergeRequestDiscussionNote ¶
func (s *DiscussionsService) UpdateMergeRequestDiscussionNote(pid any, mergeRequest int64, discussion string, note int64, opt *UpdateMergeRequestDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
func (*DiscussionsService) UpdateSnippetDiscussionNote ¶
func (s *DiscussionsService) UpdateSnippetDiscussionNote(pid any, snippet int64, discussion string, note int64, opt *UpdateSnippetDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
type DiscussionsServiceInterface ¶
type DiscussionsServiceInterface interface {
// ListIssueDiscussions gets a list of all discussions for a single issue.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#list-project-issue-discussion-items
ListIssueDiscussions(pid any, issue int64, opt *ListIssueDiscussionsOptions, options ...RequestOptionFunc) ([]*Discussion, *Response, error)
// GetIssueDiscussion returns a single discussion for a specific project issue.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#get-single-issue-discussion-item
GetIssueDiscussion(pid any, issue int64, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)
// CreateIssueDiscussion creates a new discussion to a single project issue.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#create-new-issue-thread
CreateIssueDiscussion(pid any, issue int64, opt *CreateIssueDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)
// AddIssueDiscussionNote creates a new note in an existing discussion of an issue.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#add-note-to-existing-issue-thread
AddIssueDiscussionNote(pid any, issue int64, discussion string, opt *AddIssueDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
// UpdateIssueDiscussionNote modifies an existing note in a discussion of an issue.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#modify-existing-issue-thread-note
UpdateIssueDiscussionNote(pid any, issue int64, discussion string, note int64, opt *UpdateIssueDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
// DeleteIssueDiscussionNote deletes a note from a discussion of an issue.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#delete-an-issue-thread-note
DeleteIssueDiscussionNote(pid any, issue int64, discussion string, note int64, options ...RequestOptionFunc) (*Response, error)
// ListSnippetDiscussions gets all discussions for a snippet.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#list-project-snippet-discussion-items
ListSnippetDiscussions(pid any, snippet int64, opt *ListSnippetDiscussionsOptions, options ...RequestOptionFunc) ([]*Discussion, *Response, error)
// GetSnippetDiscussion returns a single discussion for a snippet.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#get-single-snippet-discussion-item
GetSnippetDiscussion(pid any, snippet int64, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)
// CreateSnippetDiscussion creates a new discussion for a snippet.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#create-new-snippet-thread
CreateSnippetDiscussion(pid any, snippet int64, opt *CreateSnippetDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)
// AddSnippetDiscussionNote adds a new note to a snippet discussion.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#add-note-to-existing-snippet-thread
AddSnippetDiscussionNote(pid any, snippet int64, discussion string, opt *AddSnippetDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
// UpdateSnippetDiscussionNote modifies an existing note in a snippet discussion.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#modify-existing-snippet-thread-note
UpdateSnippetDiscussionNote(pid any, snippet int64, discussion string, note int64, opt *UpdateSnippetDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
// DeleteSnippetDiscussionNote deletes a note from a snippet discussion.
//
// GitLab API docs: https://docs.gitlab.com/api/discussions/#delete-a-snippet-thread-note
DeleteSnippetDiscussionNote(pid any, snippet int64, discussion string, note int64, options ...RequestOptionFunc) (*Response, error)
// ListGroupEpicDiscussions gets all discussions for a group epic.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#list-group-epic-discussion-items
ListGroupEpicDiscussions(gid any, epic int64, opt *ListGroupEpicDiscussionsOptions, options ...RequestOptionFunc) ([]*Discussion, *Response, error)
// GetEpicDiscussion returns a single discussion for a group epic.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#get-single-epic-discussion-item
GetEpicDiscussion(gid any, epic int64, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)
// CreateEpicDiscussion creates a new discussion for a group epic.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#create-new-epic-thread
CreateEpicDiscussion(gid any, epic int64, opt *CreateEpicDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)
// AddEpicDiscussionNote adds a new note to an epic discussion.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#add-note-to-existing-epic-thread
AddEpicDiscussionNote(gid any, epic int64, discussion string, opt *AddEpicDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
// UpdateEpicDiscussionNote modifies an existing note in an epic discussion.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#modify-existing-epic-thread-note
UpdateEpicDiscussionNote(gid any, epic int64, discussion string, note int64, opt *UpdateEpicDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
// DeleteEpicDiscussionNote deletes a note from an epic discussion.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#delete-an-epic-thread-note
DeleteEpicDiscussionNote(gid any, epic int64, discussion string, note int64, options ...RequestOptionFunc) (*Response, error)
// ListMergeRequestDiscussions gets all discussions for a merge request.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#list-project-merge-request-discussion-items
ListMergeRequestDiscussions(pid any, mergeRequest int64, opt *ListMergeRequestDiscussionsOptions, options ...RequestOptionFunc) ([]*Discussion, *Response, error)
// GetMergeRequestDiscussion returns a single discussion for a merge request.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#get-single-merge-request-discussion-item
GetMergeRequestDiscussion(pid any, mergeRequest int64, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)
// CreateMergeRequestDiscussion creates a new discussion for a merge request.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#create-new-merge-request-thread
CreateMergeRequestDiscussion(pid any, mergeRequest int64, opt *CreateMergeRequestDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)
// ResolveMergeRequestDiscussion resolves or unresolves a merge request discussion.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#resolve-a-merge-request-thread
ResolveMergeRequestDiscussion(pid any, mergeRequest int64, discussion string, opt *ResolveMergeRequestDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)
// AddMergeRequestDiscussionNote adds a new note to a merge request discussion.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#add-note-to-existing-merge-request-thread
AddMergeRequestDiscussionNote(pid any, mergeRequest int64, discussion string, opt *AddMergeRequestDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
// UpdateMergeRequestDiscussionNote modifies an existing note in a merge request discussion.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#modify-an-existing-merge-request-thread-note
UpdateMergeRequestDiscussionNote(pid any, mergeRequest int64, discussion string, note int64, opt *UpdateMergeRequestDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
// DeleteMergeRequestDiscussionNote deletes a note from a merge request discussion.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#delete-a-merge-request-thread-note
DeleteMergeRequestDiscussionNote(pid any, mergeRequest int64, discussion string, note int64, options ...RequestOptionFunc) (*Response, error)
// ListCommitDiscussions gets all discussions for a commit.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#list-project-commit-discussion-items
ListCommitDiscussions(pid any, commit string, opt *ListCommitDiscussionsOptions, options ...RequestOptionFunc) ([]*Discussion, *Response, error)
// GetCommitDiscussion returns a single discussion for a commit.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#get-single-commit-discussion-item
GetCommitDiscussion(pid any, commit string, discussion string, options ...RequestOptionFunc) (*Discussion, *Response, error)
// CreateCommitDiscussion creates a new discussion for a commit.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#create-new-commit-thread
CreateCommitDiscussion(pid any, commit string, opt *CreateCommitDiscussionOptions, options ...RequestOptionFunc) (*Discussion, *Response, error)
// AddCommitDiscussionNote adds a new note to a commit discussion.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#add-note-to-existing-commit-thread
AddCommitDiscussionNote(pid any, commit string, discussion string, opt *AddCommitDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
// UpdateCommitDiscussionNote modifies an existing note in a commit discussion.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#modify-an-existing-commit-thread-note
UpdateCommitDiscussionNote(pid any, commit string, discussion string, note int64, opt *UpdateCommitDiscussionNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
// DeleteCommitDiscussionNote deletes a note from a commit discussion.
//
// GitLab API docs:
// https://docs.gitlab.com/api/discussions/#delete-a-commit-thread-note
DeleteCommitDiscussionNote(pid any, commit string, discussion string, note int64, options ...RequestOptionFunc) (*Response, error)
}
DiscussionsServiceInterface defines all the API methods for the DiscussionsService
type DockerfileTemplate ¶
DockerfileTemplate represents a GitLab Dockerfile template.
GitLab API docs: https://docs.gitlab.com/api/templates/dockerfiles/
type DockerfileTemplateListItem ¶
DockerfileTemplateListItem represents a GitLab Dockerfile template from the list.
GitLab API docs: https://docs.gitlab.com/api/templates/dockerfiles/
type DockerfileTemplatesService ¶
type DockerfileTemplatesService struct {
// contains filtered or unexported fields
}
DockerfileTemplatesService handles communication with the Dockerfile templates related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/templates/dockerfiles/
func (*DockerfileTemplatesService) GetTemplate ¶
func (s *DockerfileTemplatesService) GetTemplate(key string, options ...RequestOptionFunc) (*DockerfileTemplate, *Response, error)
func (*DockerfileTemplatesService) ListTemplates ¶
func (s *DockerfileTemplatesService) ListTemplates(opt *ListDockerfileTemplatesOptions, options ...RequestOptionFunc) ([]*DockerfileTemplateListItem, *Response, error)
type DockerfileTemplatesServiceInterface ¶
type DockerfileTemplatesServiceInterface interface {
// ListTemplates get a list of available Dockerfile templates.
//
// GitLab API docs:
// https://docs.gitlab.com/api/templates/dockerfiles/#list-dockerfile-templates
ListTemplates(opt *ListDockerfileTemplatesOptions, options ...RequestOptionFunc) ([]*DockerfileTemplateListItem, *Response, error)
// GetTemplate get a single Dockerfile template.
//
// GitLab API docs:
// https://docs.gitlab.com/api/templates/dockerfiles/#single-dockerfile-template
GetTemplate(key string, options ...RequestOptionFunc) (*DockerfileTemplate, *Response, error)
}
DockerfileTemplatesServiceInterface defines all the API methods for the DockerfileTemplatesService
type DownloadArtifactsFileOptions ¶
type DownloadArtifactsFileOptions struct {
Job *string `url:"job" json:"job"`
}
DownloadArtifactsFileOptions represents the available DownloadArtifactsFile() options.
GitLab API docs: https://docs.gitlab.com/api/job_artifacts/#download-the-artifacts-archive
type DraftNote ¶
type DraftNote struct {
ID int64 `json:"id"`
AuthorID int64 `json:"author_id"`
MergeRequestID int64 `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 ¶
type DraftNotesService struct {
// contains filtered or unexported fields
}
DraftNotesService handles communication with the draft notes related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/draft_notes/#list-all-merge-request-draft-notes
func (*DraftNotesService) CreateDraftNote ¶
func (s *DraftNotesService) CreateDraftNote(pid any, mergeRequest int64, opt *CreateDraftNoteOptions, options ...RequestOptionFunc) (*DraftNote, *Response, error)
func (*DraftNotesService) DeleteDraftNote ¶
func (s *DraftNotesService) DeleteDraftNote(pid any, mergeRequest int64, note int64, options ...RequestOptionFunc) (*Response, error)
func (*DraftNotesService) GetDraftNote ¶
func (s *DraftNotesService) GetDraftNote(pid any, mergeRequest int64, note int64, options ...RequestOptionFunc) (*DraftNote, *Response, error)
func (*DraftNotesService) ListDraftNotes ¶
func (s *DraftNotesService) ListDraftNotes(pid any, mergeRequest int64, opt *ListDraftNotesOptions, options ...RequestOptionFunc) ([]*DraftNote, *Response, error)
func (*DraftNotesService) PublishAllDraftNotes ¶
func (s *DraftNotesService) PublishAllDraftNotes(pid any, mergeRequest int64, options ...RequestOptionFunc) (*Response, error)
func (*DraftNotesService) PublishDraftNote ¶
func (s *DraftNotesService) PublishDraftNote(pid any, mergeRequest int64, note int64, options ...RequestOptionFunc) (*Response, error)
func (*DraftNotesService) UpdateDraftNote ¶
func (s *DraftNotesService) UpdateDraftNote(pid any, mergeRequest int64, note int64, opt *UpdateDraftNoteOptions, options ...RequestOptionFunc) (*DraftNote, *Response, error)
type DraftNotesServiceInterface ¶
type DraftNotesServiceInterface interface {
// ListDraftNotes gets a list of all draft notes for a merge request.
//
// GitLab API docs:
// https://docs.gitlab.com/api/draft_notes/#list-all-merge-request-draft-notes
ListDraftNotes(pid any, mergeRequest int64, opt *ListDraftNotesOptions, options ...RequestOptionFunc) ([]*DraftNote, *Response, error)
// GetDraftNote gets a single draft note for a merge request.
//
// GitLab API docs:
// https://docs.gitlab.com/api/draft_notes/#get-a-single-draft-note
GetDraftNote(pid any, mergeRequest int64, note int64, options ...RequestOptionFunc) (*DraftNote, *Response, error)
// CreateDraftNote creates a draft note for a merge request.
//
// GitLab API docs:
// https://docs.gitlab.com/api/draft_notes/#create-a-draft-note
CreateDraftNote(pid any, mergeRequest int64, opt *CreateDraftNoteOptions, options ...RequestOptionFunc) (*DraftNote, *Response, error)
// UpdateDraftNote updates a draft note for a merge request.
//
// GitLab API docs:
// https://docs.gitlab.com/api/draft_notes/#update-a-draft-note
UpdateDraftNote(pid any, mergeRequest int64, note int64, opt *UpdateDraftNoteOptions, options ...RequestOptionFunc) (*DraftNote, *Response, error)
// DeleteDraftNote deletes a single draft note for a merge request.
//
// GitLab API docs:
// https://docs.gitlab.com/api/draft_notes/#delete-a-draft-note
DeleteDraftNote(pid any, mergeRequest int64, note int64, options ...RequestOptionFunc) (*Response, error)
// PublishDraftNote publishes a single draft note for a merge request.
//
// GitLab API docs:
// https://docs.gitlab.com/api/draft_notes/#publish-a-draft-note
PublishDraftNote(pid any, mergeRequest int64, note int64, 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/api/draft_notes/#publish-a-draft-note
PublishAllDraftNotes(pid any, mergeRequest int64, options ...RequestOptionFunc) (*Response, error)
}
DraftNotesServiceInterface defines all the API methods for the DraftNotesService
type DroneCIService ¶
type DroneCIService struct {
Service
Properties *DroneCIServiceProperties `json:"properties"`
}
DroneCIService represents Drone CI service settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#drone
type DroneCIServiceProperties ¶
type DroneCIServiceProperties struct {
DroneURL string `json:"drone_url"`
EnableSSLVerification bool `json:"enable_ssl_verification"`
}
DroneCIServiceProperties represents Drone CI specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#drone
type DuoAvailabilityValue ¶
type DuoAvailabilityValue string
DuoAvailabilityValue represents a GitLab Duo availability value.
const ( DuoAvailabilityDefaultOn DuoAvailabilityValue = "default_on" DuoAvailabilityDefaultOff DuoAvailabilityValue = "default_off" DuoAvailabilityNeverOn DuoAvailabilityValue = "never_on" // Displayed as "Always Off" in the UI )
type EditAnExistingResourceGroupOptions ¶
type EditAnExistingResourceGroupOptions struct {
ProcessMode *ResourceGroupProcessMode `url:"process_mode,omitempty" json:"process_mode,omitempty"`
}
EditAnExistingResourceGroupOptions represents the available EditAnExistingResourceGroup options.
GitLab API docs: https://docs.gitlab.com/api/resource_groups/#edit-an-existing-resource-group
type EditClusterOptions ¶
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"`
}
EditClusterOptions represents the available EditCluster() options. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/project_clusters/#edit-project-cluster
type EditEnvironmentOptions ¶
type EditEnvironmentOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
Description *string `url:"description,omitempty" json:"description,omitempty"`
ExternalURL *string `url:"external_url,omitempty" json:"external_url,omitempty"`
Tier *string `url:"tier,omitempty" json:"tier,omitempty"`
ClusterAgentID *int64 `url:"cluster_agent_id,omitempty" json:"cluster_agent_id,omitempty"`
KubernetesNamespace *string `url:"kubernetes_namespace,omitempty" json:"kubernetes_namespace,omitempty"`
FluxResourcePath *string `url:"flux_resource_path,omitempty" json:"flux_resource_path,omitempty"`
AutoStopSetting *string `url:"auto_stop_setting,omitempty" json:"auto_stop_setting,omitempty"`
}
EditEnvironmentOptions represents the available EditEnvironment() options.
GitLab API docs: https://docs.gitlab.com/api/environments/#update-an-existing-environment
type EditGeoSiteOptions ¶
type EditGeoSiteOptions struct {
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 *int64 `url:"files_max_capacity,omitempty" json:"files_max_capacity,omitempty"`
ReposMaxCapacity *int64 `url:"repos_max_capacity,omitempty" json:"repos_max_capacity,omitempty"`
VerificationMaxCapacity *int64 `url:"verification_max_capacity,omitempty" json:"verification_max_capacity,omitempty"`
ContainerRepositoriesMaxCapacity *int64 `url:"container_repositories_max_capacity,omitempty" json:"container_repositories_max_capacity,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 *[]int64 `url:"selective_sync_namespace_ids,omitempty" json:"selective_sync_namespace_ids,omitempty"`
MinimumReverificationInterval *int64 `url:"minimum_reverification_interval,omitempty" json:"minimum_reverification_interval,omitempty"`
}
EditGeoSiteOptions represents the available EditGeoSite() options.
GitLab API docs: https://docs.gitlab.com/api/geo_sites/#update-a-geo-site
type EditGroupBadgeOptions ¶
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"`
}
EditGroupBadgeOptions represents the available EditGroupBadge() options.
GitLab API docs: https://docs.gitlab.com/api/group_badges/#edit-a-badge-of-a-group
type EditGroupClusterOptions ¶
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"`
}
EditGroupClusterOptions represents the available EditCluster() options. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/group_clusters/#edit-group-cluster
type EditGroupHookOptions ¶
type EditGroupHookOptions struct {
URL *string `url:"url,omitempty" json:"url,omitempty"`
Name *string `url:"name,omitempty" json:"name,omitempty"`
Description *string `url:"description,omitempty" json:"description,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"`
BranchFilterStrategy *string `url:"branch_filter_strategy,omitempty" json:"branch_filter_strategy,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"`
JobEvents *bool `url:"job_events,omitempty" json:"job_events,omitempty"`
PipelineEvents *bool `url:"pipeline_events,omitempty" json:"pipeline_events,omitempty"`
ProjectEvents *bool `url:"project_events,omitempty" json:"project_events,omitempty"`
WikiPageEvents *bool `url:"wiki_page_events,omitempty" json:"wiki_page_events,omitempty"`
DeploymentEvents *bool `url:"deployment_events,omitempty" json:"deployment_events,omitempty"`
FeatureFlagEvents *bool `url:"feature_flag_events,omitempty" json:"feature_flag_events,omitempty"`
ReleasesEvents *bool `url:"releases_events,omitempty" json:"releases_events,omitempty"`
MilestoneEvents *bool `url:"milestone_events,omitempty" json:"milestone_events,omitempty"`
SubGroupEvents *bool `url:"subgroup_events,omitempty" json:"subgroup_events,omitempty"`
EmojiEvents *bool `url:"emoji_events,omitempty" json:"emoji_events,omitempty"`
MemberEvents *bool `url:"member_events,omitempty" json:"member_events,omitempty"`
VulnerabilityEvents *bool `url:"vulnerability_events,omitempty" json:"vulnerability_events,omitempty"`
EnableSSLVerification *bool `url:"enable_ssl_verification,omitempty" json:"enable_ssl_verification,omitempty"`
ServiceAccessTokensExpirationEnforced *bool `url:"service_access_tokens_expiration_enforced,omitempty" json:"service_access_tokens_expiration_enforced,omitempty"`
Token *string `url:"token,omitempty" json:"token,omitempty"`
ResourceAccessTokenEvents *bool `url:"resource_access_token_events,omitempty" json:"resource_access_token_events,omitempty"`
CustomWebhookTemplate *string `url:"custom_webhook_template,omitempty" json:"custom_webhook_template,omitempty"`
CustomHeaders *[]*HookCustomHeader `url:"custom_headers,omitempty" json:"custom_headers,omitempty"`
}
EditGroupHookOptions represents the available EditGroupHook() options.
GitLab API docs: https://docs.gitlab.com/api/group_webhooks/#edit-group-hook
type EditGroupMemberOptions ¶
type EditGroupMemberOptions struct {
AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
ExpiresAt *string `url:"expires_at,omitempty" json:"expires_at,omitempty"`
MemberRoleID *int64 `url:"member_role_id,omitempty" json:"member_role_id,omitempty"`
}
EditGroupMemberOptions represents the available EditGroupMember() options.
GitLab API docs: https://docs.gitlab.com/api/members/#edit-a-member-of-a-group-or-project
type EditGroupPlatformKubernetesOptions ¶
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"`
}
EditGroupPlatformKubernetesOptions represents the available PlatformKubernetes options for editing. Deprecated: in GitLab 14.5, to be removed in 19.0
type EditGroupPushRuleOptions ¶
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"`
CommitCommitterNameCheck *bool `url:"commit_committer_name_check,omitempty" json:"commit_committer_name_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 *int64 `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"`
RejectNonDCOCommits *bool `url:"reject_non_dco_commits,omitempty" json:"reject_non_dco_commits,omitempty"`
}
EditGroupPushRuleOptions represents the available EditGroupPushRule() options.
GitLab API docs: https://docs.gitlab.com/api/group_push_rules/#edit-the-push-rules-of-a-group
type EditGroupWikiPageOptions ¶
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"`
}
EditGroupWikiPageOptions represents options to EditGroupWikiPage.
GitLab API docs: https://docs.gitlab.com/api/group_wikis/#edit-an-existing-wiki-page
type EditPipelineScheduleOptions ¶
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"`
Inputs []*PipelineInput `url:"inputs,omitempty" json:"inputs,omitempty"`
}
EditPipelineScheduleOptions represents the available EditPipelineSchedule() options.
GitLab API docs: https://docs.gitlab.com/api/pipeline_schedules/#edit-a-pipeline-schedule
type EditPipelineScheduleVariableOptions ¶
type EditPipelineScheduleVariableOptions struct {
Value *string `url:"value" json:"value"`
VariableType *VariableTypeValue `url:"variable_type,omitempty" json:"variable_type,omitempty"`
}
EditPipelineScheduleVariableOptions represents the available EditPipelineScheduleVariable() options.
GitLab API docs: https://docs.gitlab.com/api/pipeline_schedules/#edit-a-pipeline-schedule-variable
type EditPipelineTriggerOptions ¶
type EditPipelineTriggerOptions struct {
Description *string `url:"description,omitempty" json:"description,omitempty"`
}
EditPipelineTriggerOptions represents the available EditPipelineTrigger() options.
GitLab API docs: https://docs.gitlab.com/api/pipeline_triggers/#update-a-pipeline-trigger-token
type EditPlatformKubernetesOptions ¶
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"`
}
EditPlatformKubernetesOptions represents the available PlatformKubernetes options for editing. Deprecated: in GitLab 14.5, to be removed in 19.0
type EditProjectBadgeOptions ¶
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"`
}
EditProjectBadgeOptions represents the available EditProjectBadge() options.
GitLab API docs: https://docs.gitlab.com/api/project_badges/#edit-a-badge-of-a-project
type EditProjectHookOptions ¶
type EditProjectHookOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
Description *string `url:"description,omitempty" json:"description,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"`
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"`
EmojiEvents *bool `url:"emoji_events,omitempty" json:"emoji_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"`
ResourceAccessTokenEvents *bool `url:"resource_access_token_events,omitempty" json:"resource_access_token_events,omitempty"`
CustomWebhookTemplate *string `url:"custom_webhook_template,omitempty" json:"custom_webhook_template,omitempty"`
CustomHeaders *[]*HookCustomHeader `url:"custom_headers,omitempty" json:"custom_headers,omitempty"`
VulnerabilityEvents *bool `url:"vulnerability_events,omitempty" json:"vulnerability_events,omitempty"`
BranchFilterStrategy *string `url:"branch_filter_strategy,omitempty" json:"branch_filter_strategy,omitempty"`
}
EditProjectHookOptions represents the available EditProjectHook() options.
GitLab API docs: https://docs.gitlab.com/api/project_webhooks/#edit-a-project-webhook
type EditProjectMemberOptions ¶
type EditProjectMemberOptions struct {
AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
ExpiresAt *string `url:"expires_at,omitempty" json:"expires_at,omitempty"`
MemberRoleID *int64 `url:"member_role_id,omitempty" json:"member_role_id,omitempty"`
}
EditProjectMemberOptions represents the available EditProjectMember() options.
GitLab API docs: https://docs.gitlab.com/api/members/#edit-a-member-of-a-group-or-project
type EditProjectMirrorOptions ¶
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"`
AuthMethod *string `url:"auth_method,omitempty" json:"auth_method,omitempty"`
HostKeys *[]string `url:"host_keys,omitempty" json:"host_keys,omitempty"`
}
EditProjectMirrorOptions contains the properties requires to edit an existing project mirror.
GitLab API docs: https://docs.gitlab.com/api/remote_mirrors/#update-a-remote-mirror-in-a-project
type EditProjectOptions ¶
type EditProjectOptions struct {
AllowMergeOnSkippedPipeline *bool `url:"allow_merge_on_skipped_pipeline,omitempty" json:"allow_merge_on_skipped_pipeline,omitempty"`
AllowPipelineTriggerApproveDeployment *bool `url:"allow_pipeline_trigger_approve_deployment,omitempty" json:"allow_pipeline_trigger_approve_deployment,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"`
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"`
AutoDuoCodeReviewEnabled *bool `url:"auto_duo_code_review_enabled,omitempty" json:"auto_duo_code_review_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 *int64 `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 *int64 `url:"ci_default_git_depth,omitempty" json:"ci_default_git_depth,omitempty"`
CIDeletePipelinesInSeconds *int64 `url:"ci_delete_pipelines_in_seconds,omitempty" json:"ci_delete_pipelines_in_seconds,omitempty"`
CIDisplayPipelineVariables *bool `url:"ci_display_pipeline_variables,omitempty" json:"ci_display_pipeline_variables,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"`
CIPushRepositoryForJobTokenAllowed *bool `url:"ci_push_repository_for_job_token_allowed,omitempty" json:"ci_push_repository_for_job_token_allowed,omitempty"`
CIIdTokenSubClaimComponents *[]string `url:"ci_id_token_sub_claim_components,omitempty" json:"ci_id_token_sub_claim_components,omitempty"`
CISeparatedCaches *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"`
CIPipelineVariablesMinimumOverrideRole *CIPipelineVariablesMinimumOverrideRoleValue `url:"ci_pipeline_variables_minimum_override_role,omitempty" json:"ci_pipeline_variables_minimum_override_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"`
MaxArtifactsSize *int64 `url:"max_artifacts_size,omitempty" json:"max_artifacts_size,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"`
MergeTrainsSkipTrainAllowed *bool `url:"merge_trains_skip_train_allowed,omitempty" json:"merge_trains_skip_train_allowed,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 *int64 `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 `` /* 130-byte string literal not displayed */
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"`
PublicJobs *bool `url:"public_jobs,omitempty" json:"public_jobs,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"`
PreventMergeWithoutJiraIssue *bool `url:"prevent_merge_without_jira_issue,omitempty" json:"prevent_merge_without_jira_issue,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"`
ServiceDeskEnabled *bool `url:"service_desk_enabled,omitempty" json:"service_desk_enabled,omitempty"`
GroupRunnersEnabled *bool `url:"group_runners_enabled,omitempty" json:"group_runners_enabled,omitempty"`
ResourceGroupDefaultProcessMode *ResourceGroupProcessMode `url:"resource_group_default_process_mode,omitempty" json:"resource_group_default_process_mode,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"`
MergeRequestTitleRegex *string `url:"merge_request_title_regex,omitempty" json:"merge_request_title_regex,omitempty"`
MergeRequestTitleRegexDescription *string `url:"merge_request_title_regex_description,omitempty" json:"merge_request_title_regex_description,omitempty"`
// Deprecated: use Merge Request Approvals API instead
ApprovalsBeforeMerge *int64 `url:"approvals_before_merge,omitempty" json:"approvals_before_merge,omitempty"`
// Deprecated: use PublicJobs instead
PublicBuilds *bool `url:"public_builds,omitempty" json:"public_builds,omitempty"`
// Deprecated: use CIPipelineVariablesMinimumOverrideRole instead
RestrictUserDefinedVariables *bool `url:"restrict_user_defined_variables,omitempty" json:"restrict_user_defined_variables,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"`
}
EditProjectOptions represents the available EditProject() options.
GitLab API docs: https://docs.gitlab.com/api/projects/#edit-a-project
type EditProjectPushRuleOptions ¶
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"`
CommitCommitterNameCheck *bool `url:"commit_committer_name_check,omitempty" json:"commit_committer_name_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 *int64 `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"`
RejectNonDCOCommits *bool `url:"reject_non_dco_commits,omitempty" json:"reject_non_dco_commits,omitempty"`
}
EditProjectPushRuleOptions represents the available EditProjectPushRule() options.
GitLab API docs: https://docs.gitlab.com/api/project_push_rules/#edit-project-push-rule
type EditWikiPageOptions ¶
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"`
}
EditWikiPageOptions represents options to EditWikiPage.
GitLab API docs: https://docs.gitlab.com/api/wikis/#edit-an-existing-wiki-page
type Email ¶
type Email struct {
ID int64 `json:"id"`
Email string `json:"email"`
ConfirmedAt *time.Time `json:"confirmed_at"`
}
Email represents an Email.
GitLab API docs: https://docs.gitlab.com/api/user_email_addresses/#list-all-email-addresses
type EmailsOnPushService ¶
type EmailsOnPushService struct {
Service
Properties *EmailsOnPushServiceProperties `json:"properties"`
}
EmailsOnPushService represents Emails on Push service settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#emails-on-push
type EmailsOnPushServiceProperties ¶
type EmailsOnPushServiceProperties struct {
Recipients string `json:"recipients"`
DisableDiffs bool `json:"disable_diffs"`
SendFromCommitterEmail bool `json:"send_from_committer_email"`
BranchesToBeNotified string `json:"branches_to_be_notified"`
// Deprecated: to be removed in 2.0 - use EmailsOnPushService.PushEvents instead.
PushEvents bool `json:"push_events"`
// Deprecated: to be removed in 2.0 - use EmailsOnPushService.TagPushEvents instead.
TagPushEvents bool `json:"tag_push_events"`
}
EmailsOnPushServiceProperties represents Emails on Push specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#emails-on-push
type EmojiEvent ¶
type EmojiEvent struct {
ObjectKind string `json:"object_kind"`
EventType string `json:"event_type"`
User EventUser `json:"user"`
ProjectID int64 `json:"project_id"`
Project EmojiEventProject `json:"project"`
ObjectAttributes EmojiEventObjectAttributes `json:"object_attributes"`
Note *EmojiEventNote `json:"note,omitempty"`
Issue *EmojiEventIssue `json:"issue,omitempty"`
MergeRequest *EmojiEventMergeRequest `json:"merge_request,omitempty"`
ProjectSnippet *EmojiEventSnippet `json:"project_snippet,omitempty"`
Commit *EmojiEventCommit `json:"commit,omitempty"`
}
EmojiEvent represents an emoji event.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#emoji-events
type EmojiEventCommit ¶
type EmojiEventCommit struct {
ID string `json:"id"`
Title string `json:"title"`
Message string `json:"message"`
Timestamp *time.Time `json:"timestamp"`
URL string `json:"url"`
Author EventCommitAuthor `json:"author"`
}
EmojiEventCommit represents a commit in an emoji event.
type EmojiEventIssue ¶
type EmojiEventIssue struct {
ID int64 `json:"id"`
IID int64 `json:"iid"`
ProjectID int64 `json:"project_id"`
AuthorID int64 `json:"author_id"`
ClosedAt *string `json:"closed_at"`
Confidential bool `json:"confidential"`
CreatedAt string `json:"created_at"`
Description string `json:"description"`
DiscussionLocked *bool `json:"discussion_locked"`
DueDate *ISOTime `json:"due_date"`
LastEditedAt *string `json:"last_edited_at"`
LastEditedByID *int64 `json:"last_edited_by_id"`
MilestoneID *int64 `json:"milestone_id"`
MovedToID *int64 `json:"moved_to_id"`
DuplicatedToID *int64 `json:"duplicated_to_id"`
RelativePosition int64 `json:"relative_position"`
StateID StateID `json:"state_id"`
TimeEstimate int64 `json:"time_estimate"`
Title string `json:"title"`
UpdatedAt string `json:"updated_at"`
UpdatedByID *int64 `json:"updated_by_id"`
Weight *int64 `json:"weight"`
HealthStatus *string `json:"health_status"`
URL string `json:"url"`
TotalTimeSpent int64 `json:"total_time_spent"`
TimeChange int64 `json:"time_change"`
HumanTotalTimeSpent *string `json:"human_total_time_spent"`
HumanTimeChange *string `json:"human_time_change"`
HumanTimeEstimate *string `json:"human_time_estimate"`
AssigneeIDs []int64 `json:"assignee_ids"`
AssigneeID *int64 `json:"assignee_id"`
Labels []*EventLabel `json:"labels"`
State string `json:"state"`
Severity string `json:"severity"`
}
type EmojiEventMergeRequest ¶
type EmojiEventMergeRequest struct {
ID int64 `json:"id"`
TargetBranch string `json:"target_branch"`
SourceBranch string `json:"source_branch"`
SourceProjectID int64 `json:"source_project_id"`
AuthorID int64 `json:"author_id"`
AssigneeID int64 `json:"assignee_id"`
AssigneeIDs []int64 `json:"assignee_ids"`
ReviewerIDs []int64 `json:"reviewer_ids"`
Title string `json:"title"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
MilestoneID int64 `json:"milestone_id"`
State string `json:"state"`
MergeStatus string `json:"merge_status"`
TargetProjectID int64 `json:"target_project_id"`
IID int64 `json:"iid"`
Description string `json:"description"`
Position int64 `json:"position"`
Labels []*EventLabel `json:"labels"`
LockedAt string `json:"locked_at"`
UpdatedByID int64 `json:"updated_by_id"`
MergeError string `json:"merge_error"`
MergeParams *MergeParams `json:"merge_params"`
MergeWhenPipelineSucceeds bool `json:"merge_when_pipeline_succeeds"`
MergeUserID int64 `json:"merge_user_id"`
MergeCommitSHA string `json:"merge_commit_sha"`
DeletedAt string `json:"deleted_at"`
InProgressMergeCommitSHA string `json:"in_progress_merge_commit_sha"`
LockVersion int64 `json:"lock_version"`
ApprovalsBeforeMerge string `json:"approvals_before_merge"`
RebaseCommitSHA string `json:"rebase_commit_sha"`
TimeEstimate int64 `json:"time_estimate"`
Squash bool `json:"squash"`
LastEditedAt string `json:"last_edited_at"`
LastEditedByID int64 `json:"last_edited_by_id"`
Source *Repository `json:"source"`
Target *Repository `json:"target"`
LastCommit EventMergeRequestLastCommit `json:"last_commit"`
WorkInProgress bool `json:"work_in_progress"`
TotalTimeSpent int64 `json:"total_time_spent"`
HeadPipelineID int64 `json:"head_pipeline_id"`
Assignee *EventUser `json:"assignee"`
DetailedMergeStatus string `json:"detailed_merge_status"`
URL string `json:"url"`
}
EmojiEventMergeRequest represents a merge request in an emoji event.
type EmojiEventNote ¶
type EmojiEventNote struct {
Attachment *string `json:"attachment"`
AuthorID int64 `json:"author_id"`
ChangePosition *NotePosition `json:"change_position"`
CommitID *string `json:"commit_id"`
CreatedAt string `json:"created_at"`
DiscussionID string `json:"discussion_id"`
ID int64 `json:"id"`
LineCode *string `json:"line_code"`
Note string `json:"note"`
NoteableID int64 `json:"noteable_id"`
NoteableType string `json:"noteable_type"`
OriginalPosition *NotePosition `json:"original_position"`
Position *NotePosition `json:"position"`
ProjectID int64 `json:"project_id"`
ResolvedAt *string `json:"resolved_at"`
ResolvedByID *int64 `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 *int64 `json:"updated_by_id"`
Description string `json:"description"`
URL string `json:"url"`
}
type EmojiEventObjectAttributes ¶
type EmojiEventObjectAttributes struct {
UserID int64 `json:"user_id"`
CreatedAt string `json:"created_at"`
ID int64 `json:"id"`
Name string `json:"name"`
AwardableType string `json:"awardable_type"`
AwardableID int64 `json:"awardable_id"`
UpdatedAt string `json:"updated_at"`
Action string `json:"action"`
AwardedOnURL string `json:"awarded_on_url"`
}
type EmojiEventProject ¶
type EmojiEventProject struct {
ID int64 `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 int64 `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"`
}
EmojiEventProject represents a project in an emoji event.
type EmojiEventSnippet ¶
type EmojiEventSnippet struct {
ID int64 `json:"id"`
Title string `json:"title"`
Content string `json:"content"`
AuthorID int64 `json:"author_id"`
ProjectID int64 `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 int64 `json:"visibility_level"`
Description string `json:"description"`
Secret bool `json:"secret"`
RepositoryReadOnly bool `json:"repository_read_only"`
}
EmojiEventSnippet represents a snippet in an emoji event.
type EnableDisableErrorTrackingOptions ¶
type EnableDisableErrorTrackingOptions struct {
Active *bool `url:"active,omitempty" json:"active,omitempty"`
Integrated *bool `url:"integrated,omitempty" json:"integrated,omitempty"`
}
EnableDisableErrorTrackingOptions represents the available EnableDisableErrorTracking() options.
GitLab API docs: https://docs.gitlab.com/api/error_tracking/#enable-or-disable-the-error-tracking-project-settings
type EnableProjectRunnerOptions ¶
type EnableProjectRunnerOptions struct {
RunnerID int64 `json:"runner_id"`
}
EnableProjectRunnerOptions represents the available EnableProjectRunner() options.
GitLab API docs: https://docs.gitlab.com/api/runners/#assign-a-runner-to-project
type EnabledGitAccessProtocolValue ¶
type EnabledGitAccessProtocolValue string
EnabledGitAccessProtocolValue represents a git access protocol value.
const ( EnabledGitAccessProtocolSSH EnabledGitAccessProtocolValue = "ssh" EnabledGitAccessProtocolHTTP EnabledGitAccessProtocolValue = "http" EnabledGitAccessProtocolAll EnabledGitAccessProtocolValue = "all" )
type EnterpriseUsersService ¶
type EnterpriseUsersService struct {
// contains filtered or unexported fields
}
EnterpriseUsersService handles communication with the enterprise users related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_enterprise_users/
func (*EnterpriseUsersService) DeleteEnterpriseUser ¶
func (s *EnterpriseUsersService) DeleteEnterpriseUser(gid any, uid int64, opt *DeleteEnterpriseUserOptions, options ...RequestOptionFunc) (*Response, error)
DeleteEnterpriseUser deletes an specified enterprise user.
GitLab API docs: https://docs.gitlab.com/api/group_enterprise_users/#delete-an-enterprise-user
func (*EnterpriseUsersService) Disable2FAForEnterpriseUser ¶
func (s *EnterpriseUsersService) Disable2FAForEnterpriseUser(gid any, uid int64, options ...RequestOptionFunc) (*Response, error)
Disable2FAForEnterpriseUser disables two-factor authentication (2FA) for a specified enterprise user.
GitLab API docs: https://docs.gitlab.com/api/group_enterprise_users/#disable-two-factor-authentication-for-an-enterprise-user
func (*EnterpriseUsersService) GetEnterpriseUser ¶
func (s *EnterpriseUsersService) GetEnterpriseUser(gid any, uid int64, options ...RequestOptionFunc) (*User, *Response, error)
GetEnterpriseUser gets details on a specified enterprise user.
GitLab API docs: https://docs.gitlab.com/api/group_enterprise_users/#get-details-on-an-enterprise-user
func (*EnterpriseUsersService) ListEnterpriseUsers ¶
func (s *EnterpriseUsersService) ListEnterpriseUsers(gid any, opt *ListEnterpriseUsersOptions, options ...RequestOptionFunc) ([]*User, *Response, error)
type EnterpriseUsersServiceInterface ¶
type EnterpriseUsersServiceInterface interface {
// ListEnterpriseUsers lists all enterprise users for a given top-level group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_enterprise_users/#list-all-enterprise-users
ListEnterpriseUsers(gid any, opt *ListEnterpriseUsersOptions, options ...RequestOptionFunc) ([]*User, *Response, error)
GetEnterpriseUser(gid any, uid int64, options ...RequestOptionFunc) (*User, *Response, error)
Disable2FAForEnterpriseUser(gid any, uid int64, options ...RequestOptionFunc) (*Response, error)
DeleteEnterpriseUser(gid any, uid int64, deleteOptions *DeleteEnterpriseUserOptions, options ...RequestOptionFunc) (*Response, error)
}
type Environment ¶
type Environment struct {
ID int64 `json:"id"`
Name string `json:"name"`
Slug string `json:"slug"`
Description string `json:"description"`
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"`
ClusterAgent *Agent `json:"cluster_agent"`
KubernetesNamespace string `json:"kubernetes_namespace"`
FluxResourcePath string `json:"flux_resource_path"`
AutoStopAt *time.Time `json:"auto_stop_at"`
AutoStopSetting string `json:"auto_stop_setting"`
}
Environment represents a GitLab environment.
GitLab API docs: https://docs.gitlab.com/api/environments/
func (Environment) String ¶
func (env Environment) String() string
type EnvironmentAccessDescription ¶
type EnvironmentAccessDescription struct {
ID int64 `json:"id"`
AccessLevel AccessLevelValue `json:"access_level"`
AccessLevelDescription string `json:"access_level_description"`
UserID int64 `json:"user_id"`
GroupID int64 `json:"group_id"`
GroupInheritanceType int64 `json:"group_inheritance_type"`
}
EnvironmentAccessDescription represents the access description for a protected environment.
GitLab API docs: https://docs.gitlab.com/api/protected_environments/
type EnvironmentAccessOptions ¶
type EnvironmentAccessOptions struct {
AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
UserID *int64 `url:"user_id,omitempty" json:"user_id,omitempty"`
GroupID *int64 `url:"group_id,omitempty" json:"group_id,omitempty"`
GroupInheritanceType *int64 `url:"group_inheritance_type,omitempty" json:"group_inheritance_type,omitempty"`
}
EnvironmentAccessOptions represents the options for an access description for a protected environment.
GitLab API docs: https://docs.gitlab.com/api/protected_environments/#protect-a-single-environment
type EnvironmentApprovalRule ¶
type EnvironmentApprovalRule struct {
ID int64 `json:"id"`
UserID int64 `json:"user_id"`
GroupID int64 `json:"group_id"`
AccessLevel AccessLevelValue `json:"access_level"`
AccessLevelDescription string `json:"access_level_description"`
RequiredApprovalCount int64 `json:"required_approvals"`
GroupInheritanceType int64 `json:"group_inheritance_type"`
}
EnvironmentApprovalRule represents the approval rules for a protected environment.
GitLab API docs: https://docs.gitlab.com/api/protected_environments/#protect-a-single-environment
type EnvironmentApprovalRuleOptions ¶
type EnvironmentApprovalRuleOptions struct {
UserID *int64 `url:"user_id,omitempty" json:"user_id,omitempty"`
GroupID *int64 `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 *int64 `url:"required_approvals,omitempty" json:"required_approvals,omitempty"`
GroupInheritanceType *int64 `url:"group_inheritance_type,omitempty" json:"group_inheritance_type,omitempty"`
}
EnvironmentApprovalRuleOptions represents the approval rules for a protected environment.
GitLab API docs: https://docs.gitlab.com/api/protected_environments/#protect-a-single-environment
type EnvironmentsService ¶
type EnvironmentsService struct {
// contains filtered or unexported fields
}
EnvironmentsService handles communication with the environment related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/environments/
func (*EnvironmentsService) CreateEnvironment ¶
func (s *EnvironmentsService) CreateEnvironment(pid any, opt *CreateEnvironmentOptions, options ...RequestOptionFunc) (*Environment, *Response, error)
func (*EnvironmentsService) DeleteEnvironment ¶
func (s *EnvironmentsService) DeleteEnvironment(pid any, environment int64, options ...RequestOptionFunc) (*Response, error)
func (*EnvironmentsService) EditEnvironment ¶
func (s *EnvironmentsService) EditEnvironment(pid any, environment int64, opt *EditEnvironmentOptions, options ...RequestOptionFunc) (*Environment, *Response, error)
func (*EnvironmentsService) GetEnvironment ¶
func (s *EnvironmentsService) GetEnvironment(pid any, environment int64, options ...RequestOptionFunc) (*Environment, *Response, error)
func (*EnvironmentsService) ListEnvironments ¶
func (s *EnvironmentsService) ListEnvironments(pid any, opts *ListEnvironmentsOptions, options ...RequestOptionFunc) ([]*Environment, *Response, error)
func (*EnvironmentsService) StopEnvironment ¶
func (s *EnvironmentsService) StopEnvironment(pid any, environmentID int64, opt *StopEnvironmentOptions, options ...RequestOptionFunc) (*Environment, *Response, error)
type EnvironmentsServiceInterface ¶
type EnvironmentsServiceInterface interface {
// ListEnvironments gets a list of environments from a project, sorted by name
// alphabetically.
//
// GitLab API docs:
// https://docs.gitlab.com/api/environments/#list-environments
ListEnvironments(pid any, opts *ListEnvironmentsOptions, options ...RequestOptionFunc) ([]*Environment, *Response, error)
GetEnvironment(pid any, environment int64, options ...RequestOptionFunc) (*Environment, *Response, error)
CreateEnvironment(pid any, opt *CreateEnvironmentOptions, options ...RequestOptionFunc) (*Environment, *Response, error)
EditEnvironment(pid any, environment int64, opt *EditEnvironmentOptions, options ...RequestOptionFunc) (*Environment, *Response, error)
DeleteEnvironment(pid any, environment int64, options ...RequestOptionFunc) (*Response, error)
StopEnvironment(pid any, environmentID int64, opt *StopEnvironmentOptions, options ...RequestOptionFunc) (*Environment, *Response, error)
}
EnvironmentsServiceInterface defines all the API methods for the EnvironmentsService
type Epic ¶
type Epic struct {
ID int64 `json:"id"`
IID int64 `json:"iid"`
GroupID int64 `json:"group_id"`
ParentID int64 `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 int64 `json:"upvotes"`
Downvotes int64 `json:"downvotes"`
UserNotesCount int64 `json:"user_notes_count"`
URL string `json:"url"`
}
Epic represents a GitLab epic. Will be removed in v5 of the API, use Work Items API instead
GitLab API docs: https://docs.gitlab.com/api/epics/
type EpicAuthor ¶
type EpicAuthor struct {
ID int64 `json:"id"`
State string `json:"state"`
WebURL string `json:"web_url"`
Name string `json:"name"`
AvatarURL string `json:"avatar_url"`
Username string `json:"username"`
}
EpicAuthor represents a author of the epic. Will be removed in v5 of the API, use Work Items API instead
type EpicIssueAssignment ¶
type EpicIssueAssignment struct {
ID int64 `json:"id"`
Epic *Epic `json:"epic"`
Issue *Issue `json:"issue"`
}
EpicIssueAssignment contains both the epic and issue objects returned from GitLab with the assignment ID. Will be removed in v5 of the API, use Work Items API instead
GitLab API docs: https://docs.gitlab.com/api/epic_issues/
type EpicIssuesService ¶
type EpicIssuesService struct {
// contains filtered or unexported fields
}
EpicIssuesService handles communication with the epic issue related methods of the GitLab API. Will be removed in v5 of the API, use Work Items API instead
GitLab API docs: https://docs.gitlab.com/api/epic_issues/
func (*EpicIssuesService) AssignEpicIssue ¶
func (s *EpicIssuesService) AssignEpicIssue(gid any, epic, issue int64, options ...RequestOptionFunc) (*EpicIssueAssignment, *Response, error)
AssignEpicIssue assigns an existing issue to an epic. Will be removed in v5 of the API, use Work Items API instead
Gitlab API Docs: https://docs.gitlab.com/api/epic_issues/#assign-an-issue-to-the-epic
func (*EpicIssuesService) ListEpicIssues ¶
func (s *EpicIssuesService) ListEpicIssues(gid any, epic int64, opt *ListOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
ListEpicIssues get a list of epic issues. Will be removed in v5 of the API, use Work Items API instead
Gitlab API docs: https://docs.gitlab.com/api/epic_issues/#list-issues-for-an-epic
func (*EpicIssuesService) RemoveEpicIssue ¶
func (s *EpicIssuesService) RemoveEpicIssue(gid any, epic, epicIssue int64, options ...RequestOptionFunc) (*EpicIssueAssignment, *Response, error)
RemoveEpicIssue removes an issue from an epic. Will be removed in v5 of the API, use Work Items API instead
Gitlab API Docs: https://docs.gitlab.com/api/epic_issues/#remove-an-issue-from-the-epic
func (*EpicIssuesService) UpdateEpicIssueAssignment ¶
func (s *EpicIssuesService) UpdateEpicIssueAssignment(gid any, epic, epicIssue int64, opt *UpdateEpicIssueAssignmentOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
UpdateEpicIssueAssignment moves an issue before or after another issue in an epic issue list. Will be removed in v5 of the API, use Work Items API instead
Gitlab API Docs: https://docs.gitlab.com/api/epic_issues/#update-epic---issue-association
type EpicIssuesServiceInterface ¶
type EpicIssuesServiceInterface interface {
// Will be removed in v5 of the API, use Work Items API instead
ListEpicIssues(gid any, epic int64, opt *ListOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
// Will be removed in v5 of the API, use Work Items API instead
AssignEpicIssue(gid any, epic, issue int64, options ...RequestOptionFunc) (*EpicIssueAssignment, *Response, error)
// Will be removed in v5 of the API, use Work Items API instead
RemoveEpicIssue(gid any, epic, epicIssue int64, options ...RequestOptionFunc) (*EpicIssueAssignment, *Response, error)
// Will be removed in v5 of the API, use Work Items API instead
UpdateEpicIssueAssignment(gid any, epic, epicIssue int64, opt *UpdateEpicIssueAssignmentOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
}
EpicIssuesServiceInterface defines all the API methods for the EpicIssuesService Will be removed in v5 of the API, use Work Items API instead
type EpicsService ¶
type EpicsService struct {
// contains filtered or unexported fields
}
EpicsService handles communication with the epic related methods of the GitLab API. Will be removed in v5 of the API, use Work Items API instead
GitLab API docs: https://docs.gitlab.com/api/epics/
func (*EpicsService) CreateEpic ¶
func (s *EpicsService) CreateEpic(gid any, opt *CreateEpicOptions, options ...RequestOptionFunc) (*Epic, *Response, error)
func (*EpicsService) DeleteEpic ¶
func (s *EpicsService) DeleteEpic(gid any, epic int64, options ...RequestOptionFunc) (*Response, error)
DeleteEpic deletes a single group epic. Will be removed in v5 of the API, use Work Items API instead
GitLab API docs: https://docs.gitlab.com/api/epics/#delete-epic
func (*EpicsService) GetEpic ¶
func (s *EpicsService) GetEpic(gid any, epic int64, options ...RequestOptionFunc) (*Epic, *Response, error)
GetEpic gets a single group epic. Will be removed in v5 of the API, use Work Items API instead
GitLab API docs: https://docs.gitlab.com/api/epics/#single-epic
func (*EpicsService) GetEpicLinks ¶
func (s *EpicsService) GetEpicLinks(gid any, epic int64, options ...RequestOptionFunc) ([]*Epic, *Response, error)
GetEpicLinks gets all child epics of an epic. Will be removed in v5 of the API, use Work Items API instead
GitLab API docs: https://docs.gitlab.com/api/epic_links/
func (*EpicsService) ListGroupEpics ¶
func (s *EpicsService) ListGroupEpics(gid any, opt *ListGroupEpicsOptions, options ...RequestOptionFunc) ([]*Epic, *Response, error)
func (*EpicsService) UpdateEpic ¶
func (s *EpicsService) UpdateEpic(gid any, epic int64, opt *UpdateEpicOptions, options ...RequestOptionFunc) (*Epic, *Response, error)
UpdateEpic updates an existing group epic. This function is also used to mark an epic as closed. Will be removed in v5 of the API, use Work Items API instead
GitLab API docs: https://docs.gitlab.com/api/epics/#update-epic
type EpicsServiceInterface ¶
type EpicsServiceInterface interface {
// ListGroupEpics gets a list of group epics. This function accepts pagination
// parameters page and per_page to return the list of group epics.
// Will be removed in v5 of the API, use Work Items API instead
//
// GitLab API docs: https://docs.gitlab.com/api/epics/#list-epics-for-a-group
ListGroupEpics(gid any, opt *ListGroupEpicsOptions, options ...RequestOptionFunc) ([]*Epic, *Response, error)
// GetEpic gets a single group epic.
// Will be removed in v5 of the API, use Work Items API instead
GetEpic(gid any, epic int64, options ...RequestOptionFunc) (*Epic, *Response, error)
// Will be removed in v5 of the API, use Work Items API instead
GetEpicLinks(gid any, epic int64, options ...RequestOptionFunc) ([]*Epic, *Response, error)
// Will be removed in v5 of the API, use Work Items API instead
//
// GitLab API docs: https://docs.gitlab.com/api/epics/#new-epic
CreateEpic(gid any, opt *CreateEpicOptions, options ...RequestOptionFunc) (*Epic, *Response, error)
// UpdateEpic updates an existing group epic. This function is also used
// to mark an epic as closed.
// Will be removed in v5 of the API, use Work Items API instead
UpdateEpic(gid any, epic int64, opt *UpdateEpicOptions, options ...RequestOptionFunc) (*Epic, *Response, error)
// Will be removed in v5 of the API, use Work Items API instead
DeleteEpic(gid any, epic int64, options ...RequestOptionFunc) (*Response, error)
}
EpicsServiceInterface defines all the API methods for the EpicsService Will be removed in v5 of the API, use Work Items API instead
type ErrorResponse ¶
An ErrorResponse reports one or more errors caused by an API request.
GitLab API docs: https://docs.gitlab.com/api/rest/troubleshooting/
func (*ErrorResponse) Error ¶
func (e *ErrorResponse) Error() string
func (*ErrorResponse) HasStatusCode ¶
func (e *ErrorResponse) HasStatusCode(statusCode int) bool
type ErrorTrackingClientKey ¶
type ErrorTrackingClientKey struct {
ID int64 `json:"id"`
Active bool `json:"active"`
PublicKey string `json:"public_key"`
SentryDsn string `json:"sentry_dsn"`
}
ErrorTrackingClientKey represents an error tracking client key.
GitLab docs: https://docs.gitlab.com/api/error_tracking/#error-tracking-client-keys
func (ErrorTrackingClientKey) String ¶
func (p ErrorTrackingClientKey) String() string
type ErrorTrackingService ¶
type ErrorTrackingService struct {
// contains filtered or unexported fields
}
ErrorTrackingService handles communication with the error tracking methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/error_tracking/
func (*ErrorTrackingService) CreateClientKey ¶
func (s *ErrorTrackingService) CreateClientKey(pid any, options ...RequestOptionFunc) (*ErrorTrackingClientKey, *Response, error)
func (*ErrorTrackingService) DeleteClientKey ¶
func (s *ErrorTrackingService) DeleteClientKey(pid any, keyID int64, options ...RequestOptionFunc) (*Response, error)
DeleteClientKey removes a client key from the project.
GitLab API docs: https://docs.gitlab.com/api/error_tracking/#delete-a-client-key
func (*ErrorTrackingService) EnableDisableErrorTracking ¶
func (s *ErrorTrackingService) EnableDisableErrorTracking(pid any, opt *EnableDisableErrorTrackingOptions, options ...RequestOptionFunc) (*ErrorTrackingSettings, *Response, error)
func (*ErrorTrackingService) GetErrorTrackingSettings ¶
func (s *ErrorTrackingService) GetErrorTrackingSettings(pid any, options ...RequestOptionFunc) (*ErrorTrackingSettings, *Response, error)
func (*ErrorTrackingService) ListClientKeys ¶
func (s *ErrorTrackingService) ListClientKeys(pid any, opt *ListClientKeysOptions, options ...RequestOptionFunc) ([]*ErrorTrackingClientKey, *Response, error)
type ErrorTrackingServiceInterface ¶
type ErrorTrackingServiceInterface interface {
// GetErrorTrackingSettings gets error tracking settings.
//
// GitLab API docs:
// https://docs.gitlab.com/api/error_tracking/#get-error-tracking-settings
GetErrorTrackingSettings(pid any, 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/api/error_tracking/#enable-or-disable-the-error-tracking-project-settings
EnableDisableErrorTracking(pid any, opt *EnableDisableErrorTrackingOptions, options ...RequestOptionFunc) (*ErrorTrackingSettings, *Response, error)
// ListClientKeys lists error tracking project client keys.
//
// GitLab API docs:
// https://docs.gitlab.com/api/error_tracking/#list-project-client-keys
ListClientKeys(pid any, opt *ListClientKeysOptions, options ...RequestOptionFunc) ([]*ErrorTrackingClientKey, *Response, error)
// CreateClientKey creates a new client key for a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/error_tracking/#create-a-client-key
CreateClientKey(pid any, options ...RequestOptionFunc) (*ErrorTrackingClientKey, *Response, error)
// DeleteClientKey removes a client key from the project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/error_tracking/#delete-a-client-key
DeleteClientKey(pid any, keyID int64, options ...RequestOptionFunc) (*Response, error)
}
ErrorTrackingServiceInterface defines all the API methods for the ErrorTrackingService
type ErrorTrackingSettings ¶
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"`
}
ErrorTrackingSettings represents error tracking settings for a GitLab project.
GitLab API docs: https://docs.gitlab.com/api/error_tracking/#error-tracking-project-settings
func (ErrorTrackingSettings) String ¶
func (p ErrorTrackingSettings) String() string
type EventChangesAssignees ¶
type EventChangesDescription ¶
type EventChangesLabels ¶
type EventChangesLabels struct {
Previous []*EventLabel `json:"previous"`
Current []*EventLabel `json:"current"`
}
type EventChangesStateID ¶
type EventChangesTitle ¶
type EventChangesUpdatedAt ¶
type EventChangesUpdatedByID ¶
type EventCommitAuthor ¶
type EventEnvironment ¶
type EventLabel ¶
type EventLabel struct {
ID int64 `json:"id"`
Title string `json:"title"`
Color string `json:"color"`
ProjectID int64 `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 int64 `json:"group_id"`
}
EventLabel represents a label inside a webhook event.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#work-item-events
type EventSourcePipeline ¶
type EventSourcePipeline struct {
Project EventSourcePipelineProject `json:"project"`
PipelineID int64 `json:"pipeline_id"`
JobID int64 `json:"job_id"`
}
type EventTargetTypeValue ¶
type EventTargetTypeValue string
EventTargetTypeValue represents actions type value for contribution events.
const ( IssueEventTargetType EventTargetTypeValue = "issue" MilestoneEventTargetType EventTargetTypeValue = "milestone" MergeRequestEventTargetType EventTargetTypeValue = "merge_request" NoteEventTargetType EventTargetTypeValue = "note" ProjectEventTargetType EventTargetTypeValue = "project" SnippetEventTargetType EventTargetTypeValue = "snippet" UserEventTargetType EventTargetTypeValue = "user" )
List of available action type.
GitLab API docs: https://docs.gitlab.com/api/events/#target-types
type EventType ¶
type EventType string
EventType represents a GitLab event type.
const ( EventConfidentialIssue EventType = "Confidential Issue Hook" EventConfidentialNote EventType = "Confidential Note Hook" EventTypeBuild EventType = "Build Hook" EventTypeDeployment EventType = "Deployment Hook" EventTypeEmoji EventType = "Emoji Hook" EventTypeFeatureFlag EventType = "Feature Flag Hook" EventTypeIssue EventType = "Issue Hook" EventTypeJob EventType = "Job Hook" EventTypeMember EventType = "Member Hook" EventTypeMergeRequest EventType = "Merge Request Hook" EventTypeMilestone EventType = "Milestone Hook" EventTypeNote EventType = "Note Hook" EventTypePipeline EventType = "Pipeline Hook" EventTypeProject EventType = "Project Hook" EventTypePush EventType = "Push Hook" EventTypeRelease EventType = "Release Hook" EventTypeResourceAccessToken EventType = "Resource Access Token Hook" EventTypeServiceHook EventType = "Service Hook" EventTypeSubGroup EventType = "Subgroup Hook" EventTypeSystemHook EventType = "System Hook" EventTypeTagPush EventType = "Tag Push Hook" EventTypeVulnerability EventType = "Vulnerability Hook" EventTypeWikiPage EventType = "Wiki Page Hook" )
List of available event types.
func HookEventType ¶
HookEventType returns the event type for the given request.
func WebhookEventType ¶
WebhookEventType returns the event type for the given request.
type EventTypeValue ¶
type EventTypeValue string
EventTypeValue represents actions type for 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" )
List of available action type.
GitLab API docs: https://docs.gitlab.com/user/profile/contributions_calendar/#user-contribution-events
type EventUser ¶
type EventUser struct {
ID int64 `json:"id"`
Name string `json:"name"`
Username string `json:"username"`
AvatarURL string `json:"avatar_url"`
Email string `json:"email"`
}
EventUser represents a user record in an event and is used as an event initiator or a merge assignee.
type EventsService ¶
type EventsService struct {
// contains filtered or unexported fields
}
EventsService handles communication with the event related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/events/
func (*EventsService) ListCurrentUserContributionEvents ¶
func (s *EventsService) ListCurrentUserContributionEvents(opt *ListContributionEventsOptions, options ...RequestOptionFunc) ([]*ContributionEvent, *Response, error)
func (*EventsService) ListProjectVisibleEvents ¶
func (s *EventsService) ListProjectVisibleEvents(pid any, opt *ListProjectVisibleEventsOptions, options ...RequestOptionFunc) ([]*ProjectEvent, *Response, error)
type EventsServiceInterface ¶
type EventsServiceInterface interface {
// ListCurrentUserContributionEvents retrieves all events
// for the currently authenticated user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/events/#list-all-events
ListCurrentUserContributionEvents(opt *ListContributionEventsOptions, options ...RequestOptionFunc) ([]*ContributionEvent, *Response, error)
// ListProjectVisibleEvents gets the events for the specified project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/events/#list-a-projects-visible-events
ListProjectVisibleEvents(pid any, opt *ListProjectVisibleEventsOptions, options ...RequestOptionFunc) ([]*ProjectEvent, *Response, error)
}
EventsServiceInterface defines all the API methods for the EventsService
type ExploreSnippetsOptions ¶
type ExploreSnippetsOptions struct {
ListOptions
}
ExploreSnippetsOptions represents the available ExploreSnippets() options.
GitLab API docs: https://docs.gitlab.com/api/snippets/#list-all-public-snippets
type ExportStatus ¶
type ExportStatus struct {
ID int64 `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 ExportStatusLinks `json:"_links"`
}
ExportStatus represents a project export status.
GitLab API docs: https://docs.gitlab.com/api/project_import_export/#export-status
func (ExportStatus) String ¶
func (s ExportStatus) String() string
type ExportStatusLinks ¶
ExportStatusLinks represents the project export status links.
GitLab API docs: https://docs.gitlab.com/api/project_import_export/#export-status
func (ExportStatusLinks) String ¶
func (l ExportStatusLinks) String() string
type ExternalStatusChecksService ¶
type ExternalStatusChecksService struct {
// contains filtered or unexported fields
}
ExternalStatusChecksService handles communication with the external status check related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/status_checks/
func (*ExternalStatusChecksService) CreateExternalStatusCheck ¶
func (s *ExternalStatusChecksService) CreateExternalStatusCheck(pid any, opt *CreateExternalStatusCheckOptions, options ...RequestOptionFunc) (*Response, error)
func (*ExternalStatusChecksService) CreateProjectExternalStatusCheck ¶
func (s *ExternalStatusChecksService) CreateProjectExternalStatusCheck(pid any, opt *CreateProjectExternalStatusCheckOptions, options ...RequestOptionFunc) (*ProjectStatusCheck, *Response, error)
func (*ExternalStatusChecksService) DeleteExternalStatusCheck ¶
func (s *ExternalStatusChecksService) DeleteExternalStatusCheck(pid any, check int64, options ...RequestOptionFunc) (*Response, error)
DeleteExternalStatusCheck deletes an external status check. Deprecated: to be removed in 1.0; use DeleteProjectExternalStatusCheck instead
Gitlab API docs: https://docs.gitlab.com/api/status_checks/#delete-external-status-check-service
func (*ExternalStatusChecksService) DeleteProjectExternalStatusCheck ¶
func (s *ExternalStatusChecksService) DeleteProjectExternalStatusCheck(pid any, check int64, opt *DeleteProjectExternalStatusCheckOptions, options ...RequestOptionFunc) (*Response, error)
DeleteProjectExternalStatusCheck deletes an external status check.
Gitlab API docs: https://docs.gitlab.com/api/status_checks/#delete-external-status-check-service
func (*ExternalStatusChecksService) ListMergeStatusChecks ¶
func (s *ExternalStatusChecksService) ListMergeStatusChecks(pid any, mr int64, 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. Deprecated: to be removed in 1.0; use ListProjectMergeRequestExternalStatusChecks instead
GitLab API docs: https://docs.gitlab.com/api/status_checks/#list-status-checks-for-a-merge-request
func (*ExternalStatusChecksService) ListProjectExternalStatusChecks ¶
func (s *ExternalStatusChecksService) ListProjectExternalStatusChecks(pid any, opt *ListProjectExternalStatusChecksOptions, options ...RequestOptionFunc) ([]*ProjectStatusCheck, *Response, error)
func (*ExternalStatusChecksService) ListProjectMergeRequestExternalStatusChecks ¶
func (s *ExternalStatusChecksService) ListProjectMergeRequestExternalStatusChecks(pid any, mr int64, opt *ListProjectMergeRequestExternalStatusChecksOptions, options ...RequestOptionFunc) ([]*MergeStatusCheck, *Response, error)
ListProjectMergeRequestExternalStatusChecks lists the external status checks that apply to it and their status for a single merge request.
GitLab API docs: https://docs.gitlab.com/api/status_checks/#list-status-checks-for-a-merge-request
func (*ExternalStatusChecksService) ListProjectStatusChecks ¶
func (s *ExternalStatusChecksService) ListProjectStatusChecks(pid any, opt *ListOptions, options ...RequestOptionFunc) ([]*ProjectStatusCheck, *Response, error)
func (*ExternalStatusChecksService) RetryFailedExternalStatusCheckForProjectMergeRequest ¶
func (s *ExternalStatusChecksService) RetryFailedExternalStatusCheckForProjectMergeRequest(pid any, mergeRequest int64, externalStatusCheck int64, opt *RetryFailedExternalStatusCheckForProjectMergeRequestOptions, options ...RequestOptionFunc) (*Response, error)
RetryFailedExternalStatusCheckForProjectMergeRequest retries the specified failed external status check.
Gitlab API docs: https://docs.gitlab.com/api/status_checks/#retry-failed-status-check-for-a-merge-request
func (*ExternalStatusChecksService) RetryFailedStatusCheckForAMergeRequest ¶
func (s *ExternalStatusChecksService) RetryFailedStatusCheckForAMergeRequest(pid any, mergeRequest int64, externalStatusCheck int64, options ...RequestOptionFunc) (*Response, error)
RetryFailedStatusCheckForAMergeRequest retries the specified failed external status check. Deprecated: to be removed in 1.0; use RetryFailedExternalStatusCheckForProjectMergeRequest instead
Gitlab API docs: https://docs.gitlab.com/api/status_checks/#retry-failed-status-check-for-a-merge-request
func (*ExternalStatusChecksService) SetExternalStatusCheckStatus ¶
func (s *ExternalStatusChecksService) SetExternalStatusCheckStatus(pid any, mergeRequest int64, opt *SetExternalStatusCheckStatusOptions, options ...RequestOptionFunc) (*Response, error)
SetExternalStatusCheckStatus sets the status of an external status check. Deprecated: to be removed in 1.0; use SetProjectMergeRequestExternalStatusCheckStatus instead
Gitlab API docs: https://docs.gitlab.com/api/status_checks/#set-status-of-an-external-status-check
func (*ExternalStatusChecksService) SetProjectMergeRequestExternalStatusCheckStatus ¶
func (s *ExternalStatusChecksService) SetProjectMergeRequestExternalStatusCheckStatus(pid any, mergeRequest int64, opt *SetProjectMergeRequestExternalStatusCheckStatusOptions, options ...RequestOptionFunc) (*Response, error)
SetProjectMergeRequestExternalStatusCheckStatus sets the status of an external status check.
Gitlab API docs: https://docs.gitlab.com/api/status_checks/#set-status-of-an-external-status-check
func (*ExternalStatusChecksService) UpdateExternalStatusCheck ¶
func (s *ExternalStatusChecksService) UpdateExternalStatusCheck(pid any, check int64, opt *UpdateExternalStatusCheckOptions, options ...RequestOptionFunc) (*Response, error)
UpdateExternalStatusCheck updates an external status check. Deprecated: to be removed in 1.0; use UpdateProjectExternalStatusCheck instead
Gitlab API docs: https://docs.gitlab.com/api/status_checks/#update-external-status-check-service
func (*ExternalStatusChecksService) UpdateProjectExternalStatusCheck ¶
func (s *ExternalStatusChecksService) UpdateProjectExternalStatusCheck(pid any, check int64, opt *UpdateProjectExternalStatusCheckOptions, options ...RequestOptionFunc) (*ProjectStatusCheck, *Response, error)
UpdateProjectExternalStatusCheck updates an external status check.
Gitlab API docs: https://docs.gitlab.com/api/status_checks/#update-external-status-check-service
type ExternalStatusChecksServiceInterface ¶
type ExternalStatusChecksServiceInterface interface {
// CreateExternalStatusCheck creates an external status check.
// Deprecated: to be removed in 1.0; use CreateProjectExternalStatusCheck instead
//
// GitLab API docs:
// https://docs.gitlab.com/api/status_checks/#create-external-status-check-service
CreateExternalStatusCheck(pid any, opt *CreateExternalStatusCheckOptions, options ...RequestOptionFunc) (*Response, error)
// DeleteExternalStatusCheck deletes an external status check.
// Deprecated: to be removed in 1.0; use DeleteProjectExternalStatusCheck instead
//
// GitLab API docs:
// https://docs.gitlab.com/api/status_checks/#delete-external-status-check-service
DeleteExternalStatusCheck(pid any, check int64, options ...RequestOptionFunc) (*Response, error)
// UpdateExternalStatusCheck updates an external status check.
// Deprecated: to be removed in 1.0; use UpdateProjectExternalStatusCheck instead
//
// GitLab API docs:
// https://docs.gitlab.com/api/status_checks/#update-external-status-check-service
UpdateExternalStatusCheck(pid any, check int64, opt *UpdateExternalStatusCheckOptions, options ...RequestOptionFunc) (*Response, error)
// ListMergeStatusChecks lists the external status checks that apply to it
// and their status for a single merge request.
// Deprecated: to be removed in 1.0; use ListProjectMergeRequestExternalStatusChecks instead
//
// GitLab API docs:
// https://docs.gitlab.com/api/status_checks/#list-status-checks-for-a-merge-request
ListMergeStatusChecks(pid any, mr int64, opt *ListOptions, options ...RequestOptionFunc) ([]*MergeStatusCheck, *Response, error)
// ListProjectStatusChecks lists the project external status checks.
// Deprecated: to be removed in 1.0; use ListProjectExternalStatusChecks instead
//
// GitLab API docs:
// https://docs.gitlab.com/api/status_checks/#get-project-external-status-check-services
ListProjectStatusChecks(pid any, opt *ListOptions, options ...RequestOptionFunc) ([]*ProjectStatusCheck, *Response, error)
// RetryFailedStatusCheckForAMergeRequest retries the specified failed external status check.
// Deprecated: to be removed in 1.0; use RetryFailedExternalStatusCheckForProjectMergeRequest instead
//
// GitLab API docs:
// https://docs.gitlab.com/api/status_checks/#retry-failed-status-check-for-a-merge-request
RetryFailedStatusCheckForAMergeRequest(pid any, mergeRequest int64, externalStatusCheck int64, options ...RequestOptionFunc) (*Response, error)
// SetExternalStatusCheckStatus sets the status of an external status check.
// Deprecated: to be removed in 1.0; use SetProjectMergeRequestExternalStatusCheckStatus instead
//
// GitLab API docs:
// https://docs.gitlab.com/api/status_checks/#set-status-of-an-external-status-check
SetExternalStatusCheckStatus(pid any, mergeRequest int64, opt *SetExternalStatusCheckStatusOptions, options ...RequestOptionFunc) (*Response, error)
// ListProjectMergeRequestExternalStatusChecks lists the external status checks that apply to it
// and their status for a single merge request.
//
// GitLab API docs:
// https://docs.gitlab.com/api/status_checks/#list-status-checks-for-a-merge-request
ListProjectMergeRequestExternalStatusChecks(pid any, mr int64, opt *ListProjectMergeRequestExternalStatusChecksOptions, options ...RequestOptionFunc) ([]*MergeStatusCheck, *Response, error)
// ListProjectExternalStatusChecks lists the project external status checks.
//
// GitLab API docs:
// https://docs.gitlab.com/api/status_checks/#get-project-external-status-check-services
ListProjectExternalStatusChecks(pid any, opt *ListProjectExternalStatusChecksOptions, options ...RequestOptionFunc) ([]*ProjectStatusCheck, *Response, error)
// RetryFailedExternalStatusCheckForProjectMergeRequest retries the specified failed external status check.
//
// GitLab API docs:
// https://docs.gitlab.com/api/status_checks/#retry-failed-status-check-for-a-merge-request
RetryFailedExternalStatusCheckForProjectMergeRequest(pid any, mergeRequest int64, externalStatusCheck int64, opt *RetryFailedExternalStatusCheckForProjectMergeRequestOptions, options ...RequestOptionFunc) (*Response, error)
// CreateProjectExternalStatusCheck creates an external status check.
//
// GitLab API docs:
// https://docs.gitlab.com/api/status_checks/#create-external-status-check-service
CreateProjectExternalStatusCheck(pid any, opt *CreateProjectExternalStatusCheckOptions, options ...RequestOptionFunc) (*ProjectStatusCheck, *Response, error)
// UpdateProjectExternalStatusCheck updates an external status check.
//
// GitLab API docs:
// https://docs.gitlab.com/api/status_checks/#update-external-status-check-service
UpdateProjectExternalStatusCheck(pid any, check int64, opt *UpdateProjectExternalStatusCheckOptions, options ...RequestOptionFunc) (*ProjectStatusCheck, *Response, error)
// DeleteProjectExternalStatusCheck deletes an external status check.
//
// GitLab API docs:
// https://docs.gitlab.com/api/status_checks/#delete-external-status-check-service
DeleteProjectExternalStatusCheck(pid any, check int64, opt *DeleteProjectExternalStatusCheckOptions, options ...RequestOptionFunc) (*Response, error)
// SetProjectMergeRequestExternalStatusCheckStatus sets the status of an external status check.
//
// GitLab API docs:
// https://docs.gitlab.com/api/status_checks/#set-status-of-an-external-status-check
SetProjectMergeRequestExternalStatusCheckStatus(pid any, mergeRequest int64, opt *SetProjectMergeRequestExternalStatusCheckStatusOptions, options ...RequestOptionFunc) (*Response, error)
}
ExternalStatusChecksServiceInterface defines all the API methods for the ExternalStatusChecksService
type ExternalWikiService ¶
type ExternalWikiService struct {
Service
Properties *ExternalWikiServiceProperties `json:"properties"`
}
ExternalWikiService represents External Wiki service settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#external-wiki
type ExternalWikiServiceProperties ¶
type ExternalWikiServiceProperties struct {
ExternalWikiURL string `json:"external_wiki_url"`
}
ExternalWikiServiceProperties represents External Wiki specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#external-wiki
type Feature ¶
type Feature struct {
Name string `json:"name"`
State string `json:"state"`
Gates []Gate
Definition *FeatureDefinition `json:"definition"`
}
Feature represents a GitLab feature flag.
GitLab API docs: https://docs.gitlab.com/api/features/
type FeatureDefinition ¶
type FeatureDefinition struct {
Name string `json:"name"`
IntroducedByURL string `json:"introduced_by_url"`
RolloutIssueURL string `json:"rollout_issue_url"`
Milestone string `json:"milestone"`
LogStateChanges bool `json:"log_state_changes"`
Type string `json:"type"`
Group string `json:"group"`
DefaultEnabled bool `json:"default_enabled"`
}
FeatureDefinition represents a Feature Definition.
GitLab API docs: https://docs.gitlab.com/api/features/#list-all-feature-definitions
func (FeatureDefinition) String ¶
func (fd FeatureDefinition) String() string
type FeatureFlagEvent ¶
type FeatureFlagEvent struct {
ObjectKind string `json:"object_kind"`
Project FeatureFlagEventProject `json:"project"`
User *EventUser `json:"user"`
UserURL string `json:"user_url"`
ObjectAttributes FeatureFlagEventObjectAttributes `json:"object_attributes"`
}
FeatureFlagEvent represents a feature flag event.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#feature-flag-events
type FeatureFlagEventProject ¶
type FeatureFlagEventProject struct {
ID int64 `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"`
VisibilityLevel int64 `json:"visibility_level"`
CIConfigPath string `json:"ci_config_path"`
}
type FeatureFlagStrategyOptions ¶
type FeatureFlagStrategyOptions struct {
ID *int64 `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"`
}
FeatureFlagStrategyOptions represents the available feature flag strategy options.
GitLab API docs: https://docs.gitlab.com/api/feature_flags/#create-a-feature-flag
type FeatureFlagUserList ¶
type FeatureFlagUserList struct {
Name string `url:"name" json:"name"`
UserXIDs string `url:"user_xids" json:"user_xids"`
ID int64 `url:"id" json:"id"`
IID int64 `url:"iid" json:"iid"`
ProjectID int64 `url:"project_id" json:"project_id"`
CreatedAt *time.Time `url:"created_at" json:"created_at"`
UpdatedAt *time.Time `url:"updated_at" json:"updated_at"`
}
FeatureFlagUserList represents a project feature flag user list.
GitLab API docs: https://docs.gitlab.com/api/feature_flag_user_lists/
type FeatureFlagUserListsService ¶
type FeatureFlagUserListsService struct {
// contains filtered or unexported fields
}
FeatureFlagUserListsService handles communication with the feature flag user list related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/feature_flag_user_lists/
func (*FeatureFlagUserListsService) CreateFeatureFlagUserList ¶
func (s *FeatureFlagUserListsService) CreateFeatureFlagUserList(pid any, opt *CreateFeatureFlagUserListOptions, options ...RequestOptionFunc) (*FeatureFlagUserList, *Response, error)
CreateFeatureFlagUserList creates a feature flag user list.
GitLab API docs: https://docs.gitlab.com/api/feature_flag_user_lists/#create-a-feature-flag-user-list
func (*FeatureFlagUserListsService) DeleteFeatureFlagUserList ¶
func (s *FeatureFlagUserListsService) DeleteFeatureFlagUserList(pid any, iid int64, options ...RequestOptionFunc) (*Response, error)
DeleteFeatureFlagUserList deletes a feature flag user list.
GitLab API docs: https://docs.gitlab.com/api/feature_flag_user_lists/#delete-feature-flag-user-list
func (*FeatureFlagUserListsService) GetFeatureFlagUserList ¶
func (s *FeatureFlagUserListsService) GetFeatureFlagUserList(pid any, iid int64, options ...RequestOptionFunc) (*FeatureFlagUserList, *Response, error)
GetFeatureFlagUserList gets a feature flag user list.
GitLab API docs: https://docs.gitlab.com/api/feature_flag_user_lists/#get-a-feature-flag-user-list
func (*FeatureFlagUserListsService) ListFeatureFlagUserLists ¶
func (s *FeatureFlagUserListsService) ListFeatureFlagUserLists(pid any, opt *ListFeatureFlagUserListsOptions, options ...RequestOptionFunc) ([]*FeatureFlagUserList, *Response, error)
ListFeatureFlagUserLists gets all feature flag user lists for the requested project.
GitLab API docs: https://docs.gitlab.com/api/feature_flag_user_lists/#list-all-feature-flag-user-lists-for-a-project
func (*FeatureFlagUserListsService) UpdateFeatureFlagUserList ¶
func (s *FeatureFlagUserListsService) UpdateFeatureFlagUserList(pid any, iid int64, opt *UpdateFeatureFlagUserListOptions, options ...RequestOptionFunc) (*FeatureFlagUserList, *Response, error)
UpdateFeatureFlagUserList updates a feature flag user list.
GitLab API docs: https://docs.gitlab.com/api/feature_flag_user_lists/#update-a-feature-flag-user-list
type FeatureFlagUserListsServiceInterface ¶
type FeatureFlagUserListsServiceInterface interface {
ListFeatureFlagUserLists(pid any, opt *ListFeatureFlagUserListsOptions, options ...RequestOptionFunc) ([]*FeatureFlagUserList, *Response, error)
CreateFeatureFlagUserList(pid any, opt *CreateFeatureFlagUserListOptions, options ...RequestOptionFunc) (*FeatureFlagUserList, *Response, error)
GetFeatureFlagUserList(pid any, iid int64, options ...RequestOptionFunc) (*FeatureFlagUserList, *Response, error)
UpdateFeatureFlagUserList(pid any, iid int64, opt *UpdateFeatureFlagUserListOptions, options ...RequestOptionFunc) (*FeatureFlagUserList, *Response, error)
DeleteFeatureFlagUserList(pid any, iid int64, options ...RequestOptionFunc) (*Response, error)
}
type FeaturesService ¶
type FeaturesService struct {
// contains filtered or unexported fields
}
FeaturesService handles the communication with the application FeaturesService related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/features/
func (*FeaturesService) DeleteFeatureFlag ¶
func (s *FeaturesService) DeleteFeatureFlag(name string, options ...RequestOptionFunc) (*Response, error)
DeleteFeatureFlag deletes a feature flag.
GitLab API docs: https://docs.gitlab.com/api/features/#delete-a-feature
func (*FeaturesService) ListFeatureDefinitions ¶
func (s *FeaturesService) ListFeatureDefinitions(options ...RequestOptionFunc) ([]*FeatureDefinition, *Response, error)
ListFeatureDefinitions gets a lists of all feature definitions.
GitLab API docs: https://docs.gitlab.com/api/features/#list-all-feature-definitions
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/api/features/#list-all-features
func (*FeaturesService) SetFeatureFlag ¶
func (s *FeaturesService) SetFeatureFlag(name string, opt *SetFeatureFlagOptions, options ...RequestOptionFunc) (*Feature, *Response, error)
SetFeatureFlag sets or creates a feature flag gate
GitLab API docs: https://docs.gitlab.com/api/features/#set-or-create-a-feature
type FeaturesServiceInterface ¶
type FeaturesServiceInterface interface {
ListFeatures(options ...RequestOptionFunc) ([]*Feature, *Response, error)
ListFeatureDefinitions(options ...RequestOptionFunc) ([]*FeatureDefinition, *Response, error)
SetFeatureFlag(name string, opt *SetFeatureFlagOptions, options ...RequestOptionFunc) (*Feature, *Response, error)
DeleteFeatureFlag(name string, options ...RequestOptionFunc) (*Response, error)
}
FeaturesServiceInterface defines all the API methods for the FeaturesService
type FetchStats ¶
type File ¶
type File struct {
FileName string `json:"file_name"`
FilePath string `json:"file_path"`
Size int64 `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"`
}
File represents a GitLab repository file.
GitLab API docs: https://docs.gitlab.com/api/repository_files/
type FileActionValue ¶
type FileActionValue string
FileActionValue represents the available actions that can be performed on a file.
GitLab API docs: https://docs.gitlab.com/api/commits/#create-a-commit-with-multiple-files-and-actions
const ( FileCreate FileActionValue = "create" FileDelete FileActionValue = "delete" FileMove FileActionValue = "move" FileUpdate FileActionValue = "update" FileChmod FileActionValue = "chmod" )
The available file actions.
type FileBlameRange ¶
type FileBlameRange struct {
Commit FileBlameRangeCommit `json:"commit"`
Lines []string `json:"lines"`
}
FileBlameRange represents one item of blame information.
GitLab API docs: https://docs.gitlab.com/api/repository_files/#get-file-blame-from-repository
func (FileBlameRange) String ¶
func (b FileBlameRange) String() string
type FileBlameRangeCommit ¶
type FileBlameRangeCommit 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"`
}
FileBlameRangeCommit represents one item of blame information's commit.
GitLab API docs: https://docs.gitlab.com/api/repository_files/#get-file-blame-from-repository
func (FileBlameRangeCommit) String ¶
func (c FileBlameRangeCommit) String() string
type FileInfo ¶
FileInfo represents file details of a GitLab repository file.
GitLab API docs: https://docs.gitlab.com/api/repository_files/
type Finding ¶
type Finding struct {
Confidence string `json:"confidence"`
CreatedAt *time.Time `json:"created_at"`
ID int64 `json:"id"`
LocationFingerprint string `json:"location_fingerprint"`
MetadataVersion string `json:"metadata_version"`
Name string `json:"name"`
PrimaryIdentifierID int64 `json:"primary_identifier_id"`
ProjectFingerprint string `json:"project_fingerprint"`
ProjectID int64 `json:"project_id"`
RawMetadata string `json:"raw_metadata"`
ReportType string `json:"report_type"`
ScannerID int64 `json:"scanner_id"`
Severity string `json:"severity"`
UpdatedAt *time.Time `json:"updated_at"`
UUID string `json:"uuid"`
VulnerabilityID int64 `json:"vulnerability_id"`
}
Finding represents a GitLab project vulnerability finding. Deprecated: use GraphQL Query.vulnerabilities instead
GitLab API docs: https://docs.gitlab.com/api/project_vulnerabilities/
type ForkParent ¶
type ForkParent struct {
ID int64 `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"`
}
ForkParent represents the parent project when this is a fork.
type ForkProjectOptions ¶
type ForkProjectOptions struct {
Branches *string `url:"branches,omitempty" json:"branches,omitempty"`
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 *int64 `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"`
}
ForkProjectOptions represents the available ForkProject() options.
GitLab API docs: https://docs.gitlab.com/api/project_forks/#fork-a-project
type FreezePeriod ¶
type FreezePeriod struct {
ID int64 `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"`
}
FreezePeriod represents a freeze period object.
GitLab API docs: https://docs.gitlab.com/api/freeze_periods/#list-freeze-periods
type FreezePeriodsService ¶
type FreezePeriodsService struct {
// contains filtered or unexported fields
}
FreezePeriodsService handles the communication with the freeze periods related methods of the GitLab API.
https://docs.gitlab.com/api/freeze_periods/
func (*FreezePeriodsService) CreateFreezePeriodOptions ¶
func (s *FreezePeriodsService) CreateFreezePeriodOptions(pid any, opt *CreateFreezePeriodOptions, options ...RequestOptionFunc) (*FreezePeriod, *Response, error)
CreateFreezePeriodOptions adds a freeze period to a specified project.
GitLab API docs: https://docs.gitlab.com/api/freeze_periods/#create-a-freeze-period
func (*FreezePeriodsService) DeleteFreezePeriod ¶
func (s *FreezePeriodsService) DeleteFreezePeriod(pid any, freezePeriod int64, 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/api/freeze_periods/#delete-a-freeze-period
func (*FreezePeriodsService) GetFreezePeriod ¶
func (s *FreezePeriodsService) GetFreezePeriod(pid any, freezePeriod int64, options ...RequestOptionFunc) (*FreezePeriod, *Response, error)
GetFreezePeriod gets a specific freeze period for a project.
GitLab API docs: https://docs.gitlab.com/api/freeze_periods/#get-a-freeze-period-by-a-freeze_period_id
func (*FreezePeriodsService) ListFreezePeriods ¶
func (s *FreezePeriodsService) ListFreezePeriods(pid any, opt *ListFreezePeriodsOptions, options ...RequestOptionFunc) ([]*FreezePeriod, *Response, error)
ListFreezePeriods gets a list of project freeze periods.
GitLab API docs: https://docs.gitlab.com/api/freeze_periods/#list-freeze-periods
func (*FreezePeriodsService) UpdateFreezePeriodOptions ¶
func (s *FreezePeriodsService) UpdateFreezePeriodOptions(pid any, freezePeriod int64, opt *UpdateFreezePeriodOptions, options ...RequestOptionFunc) (*FreezePeriod, *Response, error)
UpdateFreezePeriodOptions edits a freeze period for a specified project.
GitLab API docs: https://docs.gitlab.com/api/freeze_periods/#update-a-freeze-period
type FreezePeriodsServiceInterface ¶
type FreezePeriodsServiceInterface interface {
ListFreezePeriods(pid any, opt *ListFreezePeriodsOptions, options ...RequestOptionFunc) ([]*FreezePeriod, *Response, error)
GetFreezePeriod(pid any, freezePeriod int64, options ...RequestOptionFunc) (*FreezePeriod, *Response, error)
CreateFreezePeriodOptions(pid any, opt *CreateFreezePeriodOptions, options ...RequestOptionFunc) (*FreezePeriod, *Response, error)
UpdateFreezePeriodOptions(pid any, freezePeriod int64, opt *UpdateFreezePeriodOptions, options ...RequestOptionFunc) (*FreezePeriod, *Response, error)
DeleteFreezePeriod(pid any, freezePeriod int64, options ...RequestOptionFunc) (*Response, error)
}
FreezePeriodsServiceInterface defines all the API methods for the FreezePeriodsService
type GPGKey ¶
type GPGKey struct {
ID int64 `json:"id"`
Key string `json:"key"`
CreatedAt *time.Time `json:"created_at"`
}
GPGKey represents a GPG key.
GitLab API docs: https://docs.gitlab.com/api/user_keys/#list-all-gpg-keys
type GPGSignature ¶
type GPGSignature struct {
KeyID int64 `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 int64 `json:"gpg_key_subkey_id"`
}
GPGSignature represents a GitLab commit's GPG Signature.
GitLab API docs: https://docs.gitlab.com/api/commits/#get-signature-of-a-commit
type Gate ¶
Gate represents a gate of a GitLab feature flag.
GitLab API docs: https://docs.gitlab.com/api/features/
type GenerateChangelogDataOptions ¶
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"`
}
GenerateChangelogDataOptions represents the available GenerateChangelogData() options.
GitLab API docs: https://docs.gitlab.com/api/repositories/#generate-changelog-data
type GenericGraphQLErrors ¶
type GenericGraphQLErrors struct {
Errors []struct {
Message string `json:"message"`
} `json:"errors"`
}
type GenericPackageSelectValue ¶
type GenericPackageSelectValue string
GenericPackageSelectValue represents a generic package select value.
const (
SelectPackageFile GenericPackageSelectValue = "package_file"
)
The available generic package select values.
type GenericPackageStatusValue ¶
type GenericPackageStatusValue string
GenericPackageStatusValue represents a generic package status.
const ( PackageDefault GenericPackageStatusValue = "default" PackageHidden GenericPackageStatusValue = "hidden" )
The available generic package statuses.
type GenericPackagesFile ¶
type GenericPackagesFile struct {
ID int64 `json:"id"`
PackageID int64 `json:"package_id"`
CreatedAt *time.Time `json:"created_at"`
UpdatedAt *time.Time `json:"updated_at"`
Size int64 `json:"size"`
FileStore int64 `json:"file_store"`
FileMD5 string `json:"file_md5"`
FileSHA1 string `json:"file_sha1"`
FileName string `json:"file_name"`
File GenericPackagesFileURL `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 int64 `json:"verification_retry_count"`
VerificationChecksum string `json:"verification_checksum"`
VerificationState int64 `json:"verification_state"`
VerificationStartedAt *time.Time `json:"verification_started_at"`
NewFilePath string `json:"new_file_path"`
}
GenericPackagesFile represents a GitLab generic package file.
GitLab API docs: https://docs.gitlab.com/user/packages/generic_packages/#publish-a-single-file
type GenericPackagesFileURL ¶
type GenericPackagesFileURL struct {
URL string `json:"url"`
}
GenericPackagesFileURL represents a GitLab generic package file URL.
GitLab API docs: https://docs.gitlab.com/user/packages/generic_packages/#publish-a-single-file
type GenericPackagesService ¶
type GenericPackagesService struct {
// contains filtered or unexported fields
}
GenericPackagesService handles communication with the packages related methods of the GitLab API.
GitLab docs: https://docs.gitlab.com/user/packages/generic_packages/
func (*GenericPackagesService) DownloadPackageFile ¶
func (s *GenericPackagesService) DownloadPackageFile(pid any, packageName, packageVersion, fileName string, options ...RequestOptionFunc) ([]byte, *Response, error)
DownloadPackageFile allows you to download the package file.
GitLab docs: https://docs.gitlab.com/user/packages/generic_packages/#download-a-single-file
func (*GenericPackagesService) FormatPackageURL ¶
func (s *GenericPackagesService) FormatPackageURL(pid any, 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 any, 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/user/packages/generic_packages/#publish-a-single-file
type GenericPackagesServiceInterface ¶
type GenericPackagesServiceInterface interface {
FormatPackageURL(pid any, packageName, packageVersion, fileName string) (string, error)
PublishPackageFile(pid any, packageName, packageVersion, fileName string, content io.Reader, opt *PublishPackageFileOptions, options ...RequestOptionFunc) (*GenericPackagesFile, *Response, error)
DownloadPackageFile(pid any, packageName, packageVersion, fileName string, options ...RequestOptionFunc) ([]byte, *Response, error)
}
GenericPackagesServiceInterface defines all the API methods for the GenericPackagesService
type GeoNode ¶
type GeoNode struct {
ID int64 `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 int64 `json:"files_max_capacity"`
ReposMaxCapacity int64 `json:"repos_max_capacity"`
VerificationMaxCapacity int64 `json:"verification_max_capacity"`
SelectiveSyncType string `json:"selective_sync_type"`
SelectiveSyncShards []string `json:"selective_sync_shards"`
SelectiveSyncNamespaceIDs []int64 `json:"selective_sync_namespace_ids"`
MinimumReverificationInterval int64 `json:"minimum_reverification_interval"`
ContainerRepositoriesMaxCapacity int64 `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"`
}
GeoNode represents a GitLab Geo Node. Deprecated: will be removed in v5 of the API, use Geo Sites API instead
GitLab API docs: https://docs.gitlab.com/api/geo_nodes/
type GeoNodeLinks ¶
type GeoNodeLinks struct {
Self string `json:"self"`
Status string `json:"status"`
Repair string `json:"repair"`
}
GeoNodeLinks represents links for GitLab GeoNode. Deprecated: will be removed in v5 of the API, use Geo Sites API instead
GitLab API docs: https://docs.gitlab.com/api/geo_nodes/
type GeoNodeStatus ¶
type GeoNodeStatus struct {
GeoNodeID int64 `json:"geo_node_id"`
Healthy bool `json:"healthy"`
Health string `json:"health"`
HealthStatus string `json:"health_status"`
MissingOauthApplication bool `json:"missing_oauth_application"`
AttachmentsCount int64 `json:"attachments_count"`
AttachmentsSyncedCount int64 `json:"attachments_synced_count"`
AttachmentsFailedCount int64 `json:"attachments_failed_count"`
AttachmentsSyncedMissingOnPrimaryCount int64 `json:"attachments_synced_missing_on_primary_count"`
AttachmentsSyncedInPercentage string `json:"attachments_synced_in_percentage"`
DbReplicationLagSeconds int64 `json:"db_replication_lag_seconds"`
LfsObjectsCount int64 `json:"lfs_objects_count"`
LfsObjectsSyncedCount int64 `json:"lfs_objects_synced_count"`
LfsObjectsFailedCount int64 `json:"lfs_objects_failed_count"`
LfsObjectsSyncedMissingOnPrimaryCount int64 `json:"lfs_objects_synced_missing_on_primary_count"`
LfsObjectsSyncedInPercentage string `json:"lfs_objects_synced_in_percentage"`
JobArtifactsCount int64 `json:"job_artifacts_count"`
JobArtifactsSyncedCount int64 `json:"job_artifacts_synced_count"`
JobArtifactsFailedCount int64 `json:"job_artifacts_failed_count"`
JobArtifactsSyncedMissingOnPrimaryCount int64 `json:"job_artifacts_synced_missing_on_primary_count"`
JobArtifactsSyncedInPercentage string `json:"job_artifacts_synced_in_percentage"`
ContainerRepositoriesCount int64 `json:"container_repositories_count"`
ContainerRepositoriesSyncedCount int64 `json:"container_repositories_synced_count"`
ContainerRepositoriesFailedCount int64 `json:"container_repositories_failed_count"`
ContainerRepositoriesSyncedInPercentage string `json:"container_repositories_synced_in_percentage"`
DesignRepositoriesCount int64 `json:"design_repositories_count"`
DesignRepositoriesSyncedCount int64 `json:"design_repositories_synced_count"`
DesignRepositoriesFailedCount int64 `json:"design_repositories_failed_count"`
DesignRepositoriesSyncedInPercentage string `json:"design_repositories_synced_in_percentage"`
ProjectsCount int64 `json:"projects_count"`
RepositoriesCount int64 `json:"repositories_count"`
RepositoriesFailedCount int64 `json:"repositories_failed_count"`
RepositoriesSyncedCount int64 `json:"repositories_synced_count"`
RepositoriesSyncedInPercentage string `json:"repositories_synced_in_percentage"`
WikisCount int64 `json:"wikis_count"`
WikisFailedCount int64 `json:"wikis_failed_count"`
WikisSyncedCount int64 `json:"wikis_synced_count"`
WikisSyncedInPercentage string `json:"wikis_synced_in_percentage"`
ReplicationSlotsCount int64 `json:"replication_slots_count"`
ReplicationSlotsUsedCount int64 `json:"replication_slots_used_count"`
ReplicationSlotsUsedInPercentage string `json:"replication_slots_used_in_percentage"`
ReplicationSlotsMaxRetainedWalBytes int64 `json:"replication_slots_max_retained_wal_bytes"`
RepositoriesCheckedCount int64 `json:"repositories_checked_count"`
RepositoriesCheckedFailedCount int64 `json:"repositories_checked_failed_count"`
RepositoriesCheckedInPercentage string `json:"repositories_checked_in_percentage"`
RepositoriesChecksummedCount int64 `json:"repositories_checksummed_count"`
RepositoriesChecksumFailedCount int64 `json:"repositories_checksum_failed_count"`
RepositoriesChecksummedInPercentage string `json:"repositories_checksummed_in_percentage"`
WikisChecksummedCount int64 `json:"wikis_checksummed_count"`
WikisChecksumFailedCount int64 `json:"wikis_checksum_failed_count"`
WikisChecksummedInPercentage string `json:"wikis_checksummed_in_percentage"`
RepositoriesVerifiedCount int64 `json:"repositories_verified_count"`
RepositoriesVerificationFailedCount int64 `json:"repositories_verification_failed_count"`
RepositoriesVerifiedInPercentage string `json:"repositories_verified_in_percentage"`
RepositoriesChecksumMismatchCount int64 `json:"repositories_checksum_mismatch_count"`
WikisVerifiedCount int64 `json:"wikis_verified_count"`
WikisVerificationFailedCount int64 `json:"wikis_verification_failed_count"`
WikisVerifiedInPercentage string `json:"wikis_verified_in_percentage"`
WikisChecksumMismatchCount int64 `json:"wikis_checksum_mismatch_count"`
RepositoriesRetryingVerificationCount int64 `json:"repositories_retrying_verification_count"`
WikisRetryingVerificationCount int64 `json:"wikis_retrying_verification_count"`
LastEventID int64 `json:"last_event_id"`
LastEventTimestamp int64 `json:"last_event_timestamp"`
CursorLastEventID int64 `json:"cursor_last_event_id"`
CursorLastEventTimestamp int64 `json:"cursor_last_event_timestamp"`
LastSuccessfulStatusCheckTimestamp int64 `json:"last_successful_status_check_timestamp"`
Version string `json:"version"`
Revision string `json:"revision"`
MergeRequestDiffsCount int64 `json:"merge_request_diffs_count"`
MergeRequestDiffsChecksumTotalCount int64 `json:"merge_request_diffs_checksum_total_count"`
MergeRequestDiffsChecksummedCount int64 `json:"merge_request_diffs_checksummed_count"`
MergeRequestDiffsChecksumFailedCount int64 `json:"merge_request_diffs_checksum_failed_count"`
MergeRequestDiffsSyncedCount int64 `json:"merge_request_diffs_synced_count"`
MergeRequestDiffsFailedCount int64 `json:"merge_request_diffs_failed_count"`
MergeRequestDiffsRegistryCount int64 `json:"merge_request_diffs_registry_count"`
MergeRequestDiffsVerificationTotalCount int64 `json:"merge_request_diffs_verification_total_count"`
MergeRequestDiffsVerifiedCount int64 `json:"merge_request_diffs_verified_count"`
MergeRequestDiffsVerificationFailedCount int64 `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 int64 `json:"package_files_count"`
PackageFilesChecksumTotalCount int64 `json:"package_files_checksum_total_count"`
PackageFilesChecksummedCount int64 `json:"package_files_checksummed_count"`
PackageFilesChecksumFailedCount int64 `json:"package_files_checksum_failed_count"`
PackageFilesSyncedCount int64 `json:"package_files_synced_count"`
PackageFilesFailedCount int64 `json:"package_files_failed_count"`
PackageFilesRegistryCount int64 `json:"package_files_registry_count"`
PackageFilesVerificationTotalCount int64 `json:"package_files_verification_total_count"`
PackageFilesVerifiedCount int64 `json:"package_files_verified_count"`
PackageFilesVerificationFailedCount int64 `json:"package_files_verification_failed_count"`
PackageFilesSyncedInPercentage string `json:"package_files_synced_in_percentage"`
PackageFilesVerifiedInPercentage string `json:"package_files_verified_in_percentage"`
PagesDeploymentsCount int64 `json:"pages_deployments_count"`
PagesDeploymentsChecksumTotalCount int64 `json:"pages_deployments_checksum_total_count"`
PagesDeploymentsChecksummedCount int64 `json:"pages_deployments_checksummed_count"`
PagesDeploymentsChecksumFailedCount int64 `json:"pages_deployments_checksum_failed_count"`
PagesDeploymentsSyncedCount int64 `json:"pages_deployments_synced_count"`
PagesDeploymentsFailedCount int64 `json:"pages_deployments_failed_count"`
PagesDeploymentsRegistryCount int64 `json:"pages_deployments_registry_count"`
PagesDeploymentsVerificationTotalCount int64 `json:"pages_deployments_verification_total_count"`
PagesDeploymentsVerifiedCount int64 `json:"pages_deployments_verified_count"`
PagesDeploymentsVerificationFailedCount int64 `json:"pages_deployments_verification_failed_count"`
PagesDeploymentsSyncedInPercentage string `json:"pages_deployments_synced_in_percentage"`
PagesDeploymentsVerifiedInPercentage string `json:"pages_deployments_verified_in_percentage"`
TerraformStateVersionsCount int64 `json:"terraform_state_versions_count"`
TerraformStateVersionsChecksumTotalCount int64 `json:"terraform_state_versions_checksum_total_count"`
TerraformStateVersionsChecksummedCount int64 `json:"terraform_state_versions_checksummed_count"`
TerraformStateVersionsChecksumFailedCount int64 `json:"terraform_state_versions_checksum_failed_count"`
TerraformStateVersionsSyncedCount int64 `json:"terraform_state_versions_synced_count"`
TerraformStateVersionsFailedCount int64 `json:"terraform_state_versions_failed_count"`
TerraformStateVersionsRegistryCount int64 `json:"terraform_state_versions_registry_count"`
TerraformStateVersionsVerificationTotalCount int64 `json:"terraform_state_versions_verification_total_count"`
TerraformStateVersionsVerifiedCount int64 `json:"terraform_state_versions_verified_count"`
TerraformStateVersionsVerificationFailedCount int64 `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 int64 `json:"snippet_repositories_count"`
SnippetRepositoriesChecksumTotalCount int64 `json:"snippet_repositories_checksum_total_count"`
SnippetRepositoriesChecksummedCount int64 `json:"snippet_repositories_checksummed_count"`
SnippetRepositoriesChecksumFailedCount int64 `json:"snippet_repositories_checksum_failed_count"`
SnippetRepositoriesSyncedCount int64 `json:"snippet_repositories_synced_count"`
SnippetRepositoriesFailedCount int64 `json:"snippet_repositories_failed_count"`
SnippetRepositoriesRegistryCount int64 `json:"snippet_repositories_registry_count"`
SnippetRepositoriesVerificationTotalCount int64 `json:"snippet_repositories_verification_total_count"`
SnippetRepositoriesVerifiedCount int64 `json:"snippet_repositories_verified_count"`
SnippetRepositoriesVerificationFailedCount int64 `json:"snippet_repositories_verification_failed_count"`
SnippetRepositoriesSyncedInPercentage string `json:"snippet_repositories_synced_in_percentage"`
SnippetRepositoriesVerifiedInPercentage string `json:"snippet_repositories_verified_in_percentage"`
GroupWikiRepositoriesCount int64 `json:"group_wiki_repositories_count"`
GroupWikiRepositoriesChecksumTotalCount int64 `json:"group_wiki_repositories_checksum_total_count"`
GroupWikiRepositoriesChecksummedCount int64 `json:"group_wiki_repositories_checksummed_count"`
GroupWikiRepositoriesChecksumFailedCount int64 `json:"group_wiki_repositories_checksum_failed_count"`
GroupWikiRepositoriesSyncedCount int64 `json:"group_wiki_repositories_synced_count"`
GroupWikiRepositoriesFailedCount int64 `json:"group_wiki_repositories_failed_count"`
GroupWikiRepositoriesRegistryCount int64 `json:"group_wiki_repositories_registry_count"`
GroupWikiRepositoriesVerificationTotalCount int64 `json:"group_wiki_repositories_verification_total_count"`
GroupWikiRepositoriesVerifiedCount int64 `json:"group_wiki_repositories_verified_count"`
GroupWikiRepositoriesVerificationFailedCount int64 `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 int64 `json:"pipeline_artifacts_count"`
PipelineArtifactsChecksumTotalCount int64 `json:"pipeline_artifacts_checksum_total_count"`
PipelineArtifactsChecksummedCount int64 `json:"pipeline_artifacts_checksummed_count"`
PipelineArtifactsChecksumFailedCount int64 `json:"pipeline_artifacts_checksum_failed_count"`
PipelineArtifactsSyncedCount int64 `json:"pipeline_artifacts_synced_count"`
PipelineArtifactsFailedCount int64 `json:"pipeline_artifacts_failed_count"`
PipelineArtifactsRegistryCount int64 `json:"pipeline_artifacts_registry_count"`
PipelineArtifactsVerificationTotalCount int64 `json:"pipeline_artifacts_verification_total_count"`
PipelineArtifactsVerifiedCount int64 `json:"pipeline_artifacts_verified_count"`
PipelineArtifactsVerificationFailedCount int64 `json:"pipeline_artifacts_verification_failed_count"`
PipelineArtifactsSyncedInPercentage string `json:"pipeline_artifacts_synced_in_percentage"`
PipelineArtifactsVerifiedInPercentage string `json:"pipeline_artifacts_verified_in_percentage"`
UploadsCount int64 `json:"uploads_count"`
UploadsSyncedCount int64 `json:"uploads_synced_count"`
UploadsFailedCount int64 `json:"uploads_failed_count"`
UploadsRegistryCount int64 `json:"uploads_registry_count"`
UploadsSyncedInPercentage string `json:"uploads_synced_in_percentage"`
}
GeoNodeStatus represents the status of Geo Node. Deprecated: will be removed in v5 of the API, use Geo Sites API instead
GitLab API docs: https://docs.gitlab.com/api/geo_nodes/#retrieve-status-about-all-geo-nodes
type GeoNodesService ¶
type GeoNodesService struct {
// contains filtered or unexported fields
}
GeoNodesService handles communication with Geo Nodes related methods of GitLab API. Deprecated: will be removed in v5 of the API, use Geo Sites API instead
GitLab API docs: https://docs.gitlab.com/api/geo_nodes/
func (*GeoNodesService) CreateGeoNode ¶
func (s *GeoNodesService) CreateGeoNode(opt *CreateGeoNodesOptions, options ...RequestOptionFunc) (*GeoNode, *Response, error)
CreateGeoNode creates a new Geo Node. Deprecated: will be removed in v5 of the API, use Geo Sites API instead
GitLab API docs: https://docs.gitlab.com/api/geo_nodes/#create-a-new-geo-node
func (*GeoNodesService) DeleteGeoNode ¶
func (s *GeoNodesService) DeleteGeoNode(id int64, options ...RequestOptionFunc) (*Response, error)
DeleteGeoNode removes the Geo node. Deprecated: will be removed in v5 of the API, use Geo Sites API instead
GitLab API docs: https://docs.gitlab.com/api/geo_nodes/#delete-a-geo-node
func (*GeoNodesService) EditGeoNode ¶
func (s *GeoNodesService) EditGeoNode(id int64, opt *UpdateGeoNodesOptions, options ...RequestOptionFunc) (*GeoNode, *Response, error)
EditGeoNode updates settings of an existing Geo node. Deprecated: will be removed in v5 of the API, use Geo Sites API instead
GitLab API docs: https://docs.gitlab.com/api/geo_nodes/#edit-a-geo-node
func (*GeoNodesService) GetGeoNode ¶
func (s *GeoNodesService) GetGeoNode(id int64, options ...RequestOptionFunc) (*GeoNode, *Response, error)
GetGeoNode gets a specific geo node. Deprecated: will be removed in v5 of the API, use Geo Sites API instead
GitLab API docs: https://docs.gitlab.com/api/geo_nodes/#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. Deprecated: will be removed in v5 of the API, use Geo Sites API instead
GitLab API docs: https://docs.gitlab.com/api/geo_nodes/#retrieve-configuration-about-all-geo-nodes
func (*GeoNodesService) RepairGeoNode ¶
func (s *GeoNodesService) RepairGeoNode(id int64, options ...RequestOptionFunc) (*GeoNode, *Response, error)
RepairGeoNode to repair the OAuth authentication of a Geo node. Deprecated: will be removed in v5 of the API, use Geo Sites API instead
GitLab API docs: https://docs.gitlab.com/api/geo_nodes/#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. Deprecated: will be removed in v5 of the API, use Geo Sites API instead
GitLab API docs: https://docs.gitlab.com/api/geo_nodes/#retrieve-status-about-all-geo-nodes
func (*GeoNodesService) RetrieveStatusOfGeoNode ¶
func (s *GeoNodesService) RetrieveStatusOfGeoNode(id int64, options ...RequestOptionFunc) (*GeoNodeStatus, *Response, error)
RetrieveStatusOfGeoNode get the of status of a specific Geo Nodes. Deprecated: will be removed in v5 of the API, use Geo Sites API instead
GitLab API docs: https://docs.gitlab.com/api/geo_nodes/#retrieve-status-about-a-specific-geo-node
type GeoNodesServiceInterface
deprecated
type GeoNodesServiceInterface interface {
// Deprecated: will be removed in v5 of the API, use Geo Sites API instead
CreateGeoNode(*CreateGeoNodesOptions, ...RequestOptionFunc) (*GeoNode, *Response, error)
// Deprecated: will be removed in v5 of the API, use Geo Sites API instead
ListGeoNodes(*ListGeoNodesOptions, ...RequestOptionFunc) ([]*GeoNode, *Response, error)
// Deprecated: will be removed in v5 of the API, use Geo Sites API instead
GetGeoNode(int64, ...RequestOptionFunc) (*GeoNode, *Response, error)
// Deprecated: will be removed in v5 of the API, use Geo Sites API instead
EditGeoNode(int64, *UpdateGeoNodesOptions, ...RequestOptionFunc) (*GeoNode, *Response, error)
// Deprecated: will be removed in v5 of the API, use Geo Sites API instead
DeleteGeoNode(int64, ...RequestOptionFunc) (*Response, error)
// Deprecated: will be removed in v5 of the API, use Geo Sites API instead
RepairGeoNode(int64, ...RequestOptionFunc) (*GeoNode, *Response, error)
// Deprecated: will be removed in v5 of the API, use Geo Sites API instead
RetrieveStatusOfAllGeoNodes(...RequestOptionFunc) ([]*GeoNodeStatus, *Response, error)
// Deprecated: will be removed in v5 of the API, use Geo Sites API instead
RetrieveStatusOfGeoNode(int64, ...RequestOptionFunc) (*GeoNodeStatus, *Response, error)
}
Deprecated: will be removed in v5 of the API, use Geo Sites API instead
type GeoSite ¶
type GeoSite struct {
ID int64 `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 int64 `json:"files_max_capacity"`
ReposMaxCapacity int64 `json:"repos_max_capacity"`
VerificationMaxCapacity int64 `json:"verification_max_capacity"`
ContainerRepositoriesMaxCapacity int64 `json:"container_repositories_max_capacity"`
SelectiveSyncType string `json:"selective_sync_type"`
SelectiveSyncShards []string `json:"selective_sync_shards"`
SelectiveSyncNamespaceIDs []int64 `json:"selective_sync_namespace_ids"`
MinimumReverificationInterval int64 `json:"minimum_reverification_interval"`
SyncObjectStorage bool `json:"sync_object_storage"`
WebEditURL string `json:"web_edit_url"`
WebGeoReplicationDetailsURL string `json:"web_geo_replication_details_url"`
Links GeoSiteLinks `json:"_links"`
}
GeoSite represents a GitLab Geo Site.
GitLab API docs: https://docs.gitlab.com/api/geo_sites/
type GeoSiteLinks ¶
type GeoSiteLinks struct {
Self string `json:"self"`
Status string `json:"status"`
Repair string `json:"repair"`
}
GeoSiteLinks represents links for GitLab GeoSite.
GitLab API docs: https://docs.gitlab.com/api/geo_sites/
type GeoSiteStatus ¶
type GeoSiteStatus struct {
GeoNodeID int64 `json:"geo_node_id"`
ProjectsCount int64 `json:"projects_count"`
ContainerRepositoriesReplicationEnabled bool `json:"container_repositories_replication_enabled"`
LFSObjectsCount int64 `json:"lfs_objects_count"`
LFSObjectsChecksumTotalCount int64 `json:"lfs_objects_checksum_total_count"`
LFSObjectsChecksummedCount int64 `json:"lfs_objects_checksummed_count"`
LFSObjectsChecksumFailedCount int64 `json:"lfs_objects_checksum_failed_count"`
LFSObjectsSyncedCount int64 `json:"lfs_objects_synced_count"`
LFSObjectsFailedCount int64 `json:"lfs_objects_failed_count"`
LFSObjectsRegistryCount int64 `json:"lfs_objects_registry_count"`
LFSObjectsVerificationTotalCount int64 `json:"lfs_objects_verification_total_count"`
LFSObjectsVerifiedCount int64 `json:"lfs_objects_verified_count"`
LFSObjectsVerificationFailedCount int64 `json:"lfs_objects_verification_failed_count"`
MergeRequestDiffsCount int64 `json:"merge_request_diffs_count"`
MergeRequestDiffsChecksumTotalCount int64 `json:"merge_request_diffs_checksum_total_count"`
MergeRequestDiffsChecksummedCount int64 `json:"merge_request_diffs_checksummed_count"`
MergeRequestDiffsChecksumFailedCount int64 `json:"merge_request_diffs_checksum_failed_count"`
MergeRequestDiffsSyncedCount int64 `json:"merge_request_diffs_synced_count"`
MergeRequestDiffsFailedCount int64 `json:"merge_request_diffs_failed_count"`
MergeRequestDiffsRegistryCount int64 `json:"merge_request_diffs_registry_count"`
MergeRequestDiffsVerificationTotalCount int64 `json:"merge_request_diffs_verification_total_count"`
MergeRequestDiffsVerifiedCount int64 `json:"merge_request_diffs_verified_count"`
MergeRequestDiffsVerificationFailedCount int64 `json:"merge_request_diffs_verification_failed_count"`
PackageFilesCount int64 `json:"package_files_count"`
PackageFilesChecksumTotalCount int64 `json:"package_files_checksum_total_count"`
PackageFilesChecksummedCount int64 `json:"package_files_checksummed_count"`
PackageFilesChecksumFailedCount int64 `json:"package_files_checksum_failed_count"`
PackageFilesSyncedCount int64 `json:"package_files_synced_count"`
PackageFilesFailedCount int64 `json:"package_files_failed_count"`
PackageFilesRegistryCount int64 `json:"package_files_registry_count"`
PackageFilesVerificationTotalCount int64 `json:"package_files_verification_total_count"`
PackageFilesVerifiedCount int64 `json:"package_files_verified_count"`
PackageFilesVerificationFailedCount int64 `json:"package_files_verification_failed_count"`
TerraformStateVersionsCount int64 `json:"terraform_state_versions_count"`
TerraformStateVersionsChecksumTotalCount int64 `json:"terraform_state_versions_checksum_total_count"`
TerraformStateVersionsChecksummedCount int64 `json:"terraform_state_versions_checksummed_count"`
TerraformStateVersionsChecksumFailedCount int64 `json:"terraform_state_versions_checksum_failed_count"`
TerraformStateVersionsSyncedCount int64 `json:"terraform_state_versions_synced_count"`
TerraformStateVersionsFailedCount int64 `json:"terraform_state_versions_failed_count"`
TerraformStateVersionsRegistryCount int64 `json:"terraform_state_versions_registry_count"`
TerraformStateVersionsVerificationTotalCount int64 `json:"terraform_state_versions_verification_total_count"`
TerraformStateVersionsVerifiedCount int64 `json:"terraform_state_versions_verified_count"`
TerraformStateVersionsVerificationFailedCount int64 `json:"terraform_state_versions_verification_failed_count"`
SnippetRepositoriesCount int64 `json:"snippet_repositories_count"`
SnippetRepositoriesChecksumTotalCount int64 `json:"snippet_repositories_checksum_total_count"`
SnippetRepositoriesChecksummedCount int64 `json:"snippet_repositories_checksummed_count"`
SnippetRepositoriesChecksumFailedCount int64 `json:"snippet_repositories_checksum_failed_count"`
SnippetRepositoriesSyncedCount int64 `json:"snippet_repositories_synced_count"`
SnippetRepositoriesFailedCount int64 `json:"snippet_repositories_failed_count"`
SnippetRepositoriesRegistryCount int64 `json:"snippet_repositories_registry_count"`
SnippetRepositoriesVerificationTotalCount int64 `json:"snippet_repositories_verification_total_count"`
SnippetRepositoriesVerifiedCount int64 `json:"snippet_repositories_verified_count"`
SnippetRepositoriesVerificationFailedCount int64 `json:"snippet_repositories_verification_failed_count"`
GroupWikiRepositoriesCount int64 `json:"group_wiki_repositories_count"`
GroupWikiRepositoriesChecksumTotalCount int64 `json:"group_wiki_repositories_checksum_total_count"`
GroupWikiRepositoriesChecksummedCount int64 `json:"group_wiki_repositories_checksummed_count"`
GroupWikiRepositoriesChecksumFailedCount int64 `json:"group_wiki_repositories_checksum_failed_count"`
GroupWikiRepositoriesSyncedCount int64 `json:"group_wiki_repositories_synced_count"`
GroupWikiRepositoriesFailedCount int64 `json:"group_wiki_repositories_failed_count"`
GroupWikiRepositoriesRegistryCount int64 `json:"group_wiki_repositories_registry_count"`
GrupWikiRepositoriesVerificationTotalCount int64 `json:"group_wiki_repositories_verification_total_count"`
GroupWikiRepositoriesVerifiedCount int64 `json:"group_wiki_repositories_verified_count"`
GroupWikiRepositoriesVerificationFailedCount int64 `json:"group_wiki_repositories_verification_failed_count"`
PipelineArtifactsCount int64 `json:"pipeline_artifacts_count"`
PipelineArtifactsChecksumTotalCount int64 `json:"pipeline_artifacts_checksum_total_count"`
PipelineArtifactsChecksummedCount int64 `json:"pipeline_artifacts_checksummed_count"`
PipelineArtifactsChecksumFailedCount int64 `json:"pipeline_artifacts_checksum_failed_count"`
PipelineArtifactsSyncedCount int64 `json:"pipeline_artifacts_synced_count"`
PipelineArtifactsFailedCount int64 `json:"pipeline_artifacts_failed_count"`
PipelineArtifactsRegistryCount int64 `json:"pipeline_artifacts_registry_count"`
PipelineArtifactsVerificationTotalCount int64 `json:"pipeline_artifacts_verification_total_count"`
PipelineArtifactsVerifiedCount int64 `json:"pipeline_artifacts_verified_count"`
PipelineArtifactsVerificationFailedCount int64 `json:"pipeline_artifacts_verification_failed_count"`
PagesDeploymentsCount int64 `json:"pages_deployments_count"`
PagesDeploymentsChecksumTotalCount int64 `json:"pages_deployments_checksum_total_count"`
PagesDeploymentsChecksummedCount int64 `json:"pages_deployments_checksummed_count"`
PagesDeploymentsChecksumFailedCount int64 `json:"pages_deployments_checksum_failed_count"`
PagesDeploymentsSyncedCount int64 `json:"pages_deployments_synced_count"`
PagesDeploymentsFailedCount int64 `json:"pages_deployments_failed_count"`
PagesDeploymentsRegistryCount int64 `json:"pages_deployments_registry_count"`
PagesDeploymentsVerificationTotalCount int64 `json:"pages_deployments_verification_total_count"`
PagesDeploymentsVerifiedCount int64 `json:"pages_deployments_verified_count"`
PagesDeploymentsVerificationFailedCount int64 `json:"pages_deployments_verification_failed_count"`
UploadsCount int64 `json:"uploads_count"`
UploadsChecksumTotalCount int64 `json:"uploads_checksum_total_count"`
UploadsChecksummedCount int64 `json:"uploads_checksummed_count"`
UploadsChecksumFailedCount int64 `json:"uploads_checksum_failed_count"`
UploadsSyncedCount int64 `json:"uploads_synced_count"`
UploadsFailedCount int64 `json:"uploads_failed_count"`
UploadsRegistryCount int64 `json:"uploads_registry_count"`
UploadsVerificationTotalCount int64 `json:"uploads_verification_total_count"`
UploadsVerifiedCount int64 `json:"uploads_verified_count"`
UploadsVerificationFailedCount int64 `json:"uploads_verification_failed_count"`
JobArtifactsCount int64 `json:"job_artifacts_count"`
JobArtifactsChecksumTotalCount int64 `json:"job_artifacts_checksum_total_count"`
JobArtifactsChecksummedCount int64 `json:"job_artifacts_checksummed_count"`
JobArtifactsChecksumFailedCount int64 `json:"job_artifacts_checksum_failed_count"`
JobArtifactsSyncedCount int64 `json:"job_artifacts_synced_count"`
JobArtifactsFailedCount int64 `json:"job_artifacts_failed_count"`
JobArtifactsRegistryCount int64 `json:"job_artifacts_registry_count"`
JobArtifactsVerificationTotalCount int64 `json:"job_artifacts_verification_total_count"`
JobArtifactsVerifiedCount int64 `json:"job_artifacts_verified_count"`
JobArtifactsVerificationFailedCount int64 `json:"job_artifacts_verification_failed_count"`
CISecureFilesCount int64 `json:"ci_secure_files_count"`
CISecureFilesChecksumTotalCount int64 `json:"ci_secure_files_checksum_total_count"`
CISecureFilesChecksummedCount int64 `json:"ci_secure_files_checksummed_count"`
CISecureFilesChecksumFailedCount int64 `json:"ci_secure_files_checksum_failed_count"`
CISecureFilesSyncedCount int64 `json:"ci_secure_files_synced_count"`
CISecureFilesFailedCount int64 `json:"ci_secure_files_failed_count"`
CISecureFilesRegistryCount int64 `json:"ci_secure_files_registry_count"`
CISecureFilesVerificationTotalCount int64 `json:"ci_secure_files_verification_total_count"`
CISecureFilesVerifiedCount int64 `json:"ci_secure_files_verified_count"`
CISecureFilesVerificationFailedCount int64 `json:"ci_secure_files_verification_failed_count"`
ContainerRepositoriesCount int64 `json:"container_repositories_count"`
ContainerRepositoriesChecksumTotalCount int64 `json:"container_repositories_checksum_total_count"`
ContainerRepositoriesChecksummedCount int64 `json:"container_repositories_checksummed_count"`
ContainerRepositoriesChecksumFailedCount int64 `json:"container_repositories_checksum_failed_count"`
ContainerRepositoriesSyncedCount int64 `json:"container_repositories_synced_count"`
ContainerRepositoriesFailedCount int64 `json:"container_repositories_failed_count"`
ContainerRepositoriesRegistryCount int64 `json:"container_repositories_registry_count"`
ContainerRepositoriesVerificationTotalCount int64 `json:"container_repositories_verification_total_count"`
ContainerRepositoriesVerifiedCount int64 `json:"container_repositories_verified_count"`
ContainerRepositoriesVerificationFailedCount int64 `json:"container_repositories_verification_failed_count"`
DependencyProxyBlobsCount int64 `json:"dependency_proxy_blobs_count"`
DependencyProxyBlobsChecksumTotalCount int64 `json:"dependency_proxy_blobs_checksum_total_count"`
DependencyProxyBlobsChecksummedCount int64 `json:"dependency_proxy_blobs_checksummed_count"`
DependencyProxyBlobsChecksumFailedCount int64 `json:"dependency_proxy_blobs_checksum_failed_count"`
DependencyProxyBlobsSyncedCount int64 `json:"dependency_proxy_blobs_synced_count"`
DependencyProxyBlobsFailedCount int64 `json:"dependency_proxy_blobs_failed_count"`
DependencyProxyBlobsRegistryCount int64 `json:"dependency_proxy_blobs_registry_count"`
DependencyProxyBlobsVerificationTotalCount int64 `json:"dependency_proxy_blobs_verification_total_count"`
DependencyProxyBlobsVerifiedCount int64 `json:"dependency_proxy_blobs_verified_count"`
DependencyProxyBlobsVerificationFailedCount int64 `json:"dependency_proxy_blobs_verification_failed_count"`
DependencyProxyManifestsCount int64 `json:"dependency_proxy_manifests_count"`
DependencyProxyManifestsChecksumTotalCount int64 `json:"dependency_proxy_manifests_checksum_total_count"`
DependencyProxyManifestsChecksummedCount int64 `json:"dependency_proxy_manifests_checksummed_count"`
DependencyProxyManifestsChecksumFailedCount int64 `json:"dependency_proxy_manifests_checksum_failed_count"`
DependencyProxyManifestsSyncedCount int64 `json:"dependency_proxy_manifests_synced_count"`
DependencyProxyManifestsFailedCount int64 `json:"dependency_proxy_manifests_failed_count"`
DependencyProxyManifestsRegistryCount int64 `json:"dependency_proxy_manifests_registry_count"`
DependencyProxyManifestsVerificationTotalCount int64 `json:"dependency_proxy_manifests_verification_total_count"`
DependencyProxyManifestsVerifiedCount int64 `json:"dependency_proxy_manifests_verified_count"`
DependencyProxyManifestsVerificationFailedCount int64 `json:"dependency_proxy_manifests_verification_failed_count"`
ProjectWikiRepositoriesCount int64 `json:"project_wiki_repositories_count"`
ProjectWikiRepositoriesChecksumTotalCount int64 `json:"project_wiki_repositories_checksum_total_count"`
ProjectWikiRepositoriesChecksummedCount int64 `json:"project_wiki_repositories_checksummed_count"`
ProjectWikiRepositoriesChecksumFailedCount int64 `json:"project_wiki_repositories_checksum_failed_count"`
ProjectWikiRepositoriesSyncedCount int64 `json:"project_wiki_repositories_synced_count"`
ProjectWikiRepositoriesFailedCount int64 `json:"project_wiki_repositories_failed_count"`
ProjectWikiRepositoriesRegistryCount int64 `json:"project_wiki_repositories_registry_count"`
ProjectWikiRepositoriesVerificationTotalCount int64 `json:"project_wiki_repositories_verification_total_count"`
ProjectWikiRepositoriesVerifiedCount int64 `json:"project_wiki_repositories_verified_count"`
ProjectWikiRepositoriesVerificationFailedCount int64 `json:"project_wiki_repositories_verification_failed_count"`
GitFetchEventCountWeekly int64 `json:"git_fetch_event_count_weekly"`
GitPushEventCountWeekly int64 `json:"git_push_event_count_weekly"`
ProxyRemoteRequestsEventCountWeekly int64 `json:"proxy_remote_requests_event_count_weekly"`
ProxyLocalRequestsEventCountWeekly int64 `json:"proxy_local_requests_event_count_weekly"`
RepositoriesCheckedInPercentage string `json:"repositories_checked_in_percentage"`
ReplicationSlotsUsedInPercentage string `json:"replication_slots_used_in_percentage"`
LFSObjectsSyncedInPercentage string `json:"lfs_objects_synced_in_percentage"`
LFSObjectsVerifiedInPercentage string `json:"lfs_objects_verified_in_percentage"`
MergeRequestDiffsSyncedInPercentage string `json:"merge_request_diffs_synced_in_percentage"`
MergeRequestDiffsVerifiedInPercentage string `json:"merge_request_diffs_verified_in_percentage"`
PackageFilesSyncedInPercentage string `json:"package_files_synced_in_percentage"`
PackageFilesVerifiedInPercentage string `json:"package_files_verified_in_percentage"`
TerraformStateVersionsSyncedInPercentage string `json:"terraform_state_versions_synced_in_percentage"`
TerraformStateVersionsVerifiedInPercentage string `json:"terraform_state_versions_verified_in_percentage"`
SnippetRepositoriesSyncedInPercentage string `json:"snippet_repositories_synced_in_percentage"`
SnippetRepositoriesVerifiedInPercentage string `json:"snippet_repositories_verified_in_percentage"`
GroupWikiRepositoriesSyncedInPercentage string `json:"group_wiki_repositories_synced_in_percentage"`
GroupWikiRepositoriesVerifiedInPercentage string `json:"group_wiki_repositories_verified_in_percentage"`
PipelineArtifactsSyncedInPercentage string `json:"pipeline_artifacts_synced_in_percentage"`
PipelineArtifactsVerifiedInPercentage string `json:"pipeline_artifacts_verified_in_percentage"`
PagesDeploymentsSyncedInPercentage string `json:"pages_deployments_synced_in_percentage"`
PagesDeploymentsVerifiedInPercentage string `json:"pages_deployments_verified_in_percentage"`
UploadsSyncedInPercentage string `json:"uploads_synced_in_percentage"`
UploadsVerifiedInPercentage string `json:"uploads_verified_in_percentage"`
JobArtifactsSyncedInPercentage string `json:"job_artifacts_synced_in_percentage"`
JobArtifactsVerifiedInPercentage string `json:"job_artifacts_verified_in_percentage"`
CISecureFilesSyncedInPercentage string `json:"ci_secure_files_synced_in_percentage"`
CISecureFilesVerifiedInPercentage string `json:"ci_secure_files_verified_in_percentage"`
ContainerRepositoriesSyncedInPercentage string `json:"container_repositories_synced_in_percentage"`
ContainerRepositoriesVerifiedInPercentage string `json:"container_repositories_verified_in_percentage"`
DependencyProxyBlobsSyncedInPercentage string `json:"dependency_proxy_blobs_synced_in_percentage"`
DependencyProxyBlobsVerifiedInPercentage string `json:"dependency_proxy_blobs_verified_in_percentage"`
DependencyProxyManifestsSyncedInPercentage string `json:"dependency_proxy_manifests_synced_in_percentage"`
DependencyProxyManifestsVerifiedInPercentage string `json:"dependency_proxy_manifests_verified_in_percentage"`
ProjectWikiRepositoriesSyncedInPercentage string `json:"project_wiki_repositories_synced_in_percentage"`
ProjectWikiRepositoriesVerifiedInPercentage string `json:"project_wiki_repositories_verified_in_percentage"`
ReplicationSlotsCount int64 `json:"replication_slots_count"`
ReplicationSlotsUsedCount int64 `json:"replication_slots_used_count"`
Healthy bool `json:"healthy"`
Health string `json:"health"`
HealthStatus string `json:"health_status"`
MissingOAuthApplication bool `json:"missing_oauth_application"`
DBReplicationLagSeconds int64 `json:"db_replication_lag_seconds"`
ReplicationSlotsMaxRetainedWalBytes int64 `json:"replication_slots_max_retained_wal_bytes"`
RepositoriesCheckedCount int64 `json:"repositories_checked_count"`
RepositoriesCheckedFailedCount int64 `json:"repositories_checked_failed_count"`
LastEventID int64 `json:"last_event_id"`
LastEventTimestamp int64 `json:"last_event_timestamp"`
CursorLastEventID int64 `json:"cursor_last_event_id"`
CursorLastEventTimestamp int64 `json:"cursor_last_event_timestamp"`
LastSuccessfulStatusCheckTimestamp int64 `json:"last_successful_status_check_timestamp"`
Version string `json:"version"`
Revision string `json:"revision"`
SelectiveSyncType string `json:"selective_sync_type"`
Namespaces []string `json:"namespaces"`
UpdatedAt time.Time `json:"updated_at"`
StorageShardsMatch bool `json:"storage_shards_match"`
Links GeoSiteStatusLink `json:"_links"`
}
GeoSiteStatus represents the status of Geo Site.
GitLab API docs: https://docs.gitlab.com/api/geo_sites/#list-all-geo-site-statuses
type GeoSiteStatusLink ¶
GeoSiteStatusLink represents the links for a GitLab Geo Site status.
GitLab API docs: https://docs.gitlab.com/api/geo_sites/#list-all-geo-site-statuses
type GeoSitesService ¶
type GeoSitesService struct {
// contains filtered or unexported fields
}
GeoSitesService handles communication with Geo Sites related methods of GitLab API.
GitLab API docs: https://docs.gitlab.com/api/geo_sites/
func (*GeoSitesService) CreateGeoSite ¶
func (s *GeoSitesService) CreateGeoSite(opt *CreateGeoSitesOptions, options ...RequestOptionFunc) (*GeoSite, *Response, error)
func (*GeoSitesService) DeleteGeoSite ¶
func (s *GeoSitesService) DeleteGeoSite(id int64, options ...RequestOptionFunc) (*Response, error)
func (*GeoSitesService) EditGeoSite ¶
func (s *GeoSitesService) EditGeoSite(id int64, opt *EditGeoSiteOptions, options ...RequestOptionFunc) (*GeoSite, *Response, error)
func (*GeoSitesService) GetGeoSite ¶
func (s *GeoSitesService) GetGeoSite(id int64, options ...RequestOptionFunc) (*GeoSite, *Response, error)
func (*GeoSitesService) GetStatusOfGeoSite ¶
func (s *GeoSitesService) GetStatusOfGeoSite(id int64, options ...RequestOptionFunc) (*GeoSiteStatus, *Response, error)
func (*GeoSitesService) ListGeoSites ¶
func (s *GeoSitesService) ListGeoSites(opt *ListGeoSitesOptions, options ...RequestOptionFunc) ([]*GeoSite, *Response, error)
func (*GeoSitesService) ListStatusOfAllGeoSites ¶
func (s *GeoSitesService) ListStatusOfAllGeoSites(opt *ListStatusOfAllGeoSitesOptions, options ...RequestOptionFunc) ([]*GeoSiteStatus, *Response, error)
func (*GeoSitesService) RepairGeoSite ¶
func (s *GeoSitesService) RepairGeoSite(id int64, options ...RequestOptionFunc) (*GeoSite, *Response, error)
type GeoSitesServiceInterface ¶
type GeoSitesServiceInterface interface {
// CreateGeoSite creates a new Geo Site.
//
// GitLab API docs:
// https://docs.gitlab.com/api/geo_sites/#create-a-new-geo-site
CreateGeoSite(*CreateGeoSitesOptions, ...RequestOptionFunc) (*GeoSite, *Response, error)
// ListGeoSites gets a list of geo sites.
//
// GitLab API docs:
// https://docs.gitlab.com/api/geo_sites/#retrieve-configuration-about-all-geo-sites
ListGeoSites(*ListGeoSitesOptions, ...RequestOptionFunc) ([]*GeoSite, *Response, error)
// GetGeoSite gets a specific geo site.
//
// GitLab API docs:
// https://docs.gitlab.com/api/geo_sites/#retrieve-configuration-about-a-specific-geo-site
GetGeoSite(int64, ...RequestOptionFunc) (*GeoSite, *Response, error)
// EditGeoSite updates settings of an existing Geo site.
//
// GitLab API docs:
// https://docs.gitlab.com/api/geo_sites/#edit-a-geo-site
EditGeoSite(int64, *EditGeoSiteOptions, ...RequestOptionFunc) (*GeoSite, *Response, error)
// DeleteGeoSite removes the Geo site.
//
// GitLab API docs:
// https://docs.gitlab.com/api/geo_sites/#delete-a-geo-site
DeleteGeoSite(int64, ...RequestOptionFunc) (*Response, error)
// RepairGeoSite to repair the OAuth authentication of a Geo site.
//
// GitLab API docs:
// https://docs.gitlab.com/api/geo_sites/#repair-a-geo-site
RepairGeoSite(int64, ...RequestOptionFunc) (*GeoSite, *Response, error)
// ListStatusOfAllGeoSites get the list of status of all Geo Sites.
//
// GitLab API docs:
// https://docs.gitlab.com/api/geo_sites/#retrieve-status-about-all-geo-sites
ListStatusOfAllGeoSites(*ListStatusOfAllGeoSitesOptions, ...RequestOptionFunc) ([]*GeoSiteStatus, *Response, error)
// GetStatusOfGeoSite gets the status of a specific Geo Site.
//
// GitLab API docs:
// https://docs.gitlab.com/api/geo_sites/#retrieve-status-about-a-specific-geo-site
GetStatusOfGeoSite(int64, ...RequestOptionFunc) (*GeoSiteStatus, *Response, error)
}
type GetAllImpersonationTokensOptions ¶
type GetAllImpersonationTokensOptions struct {
ListOptions
State *string `url:"state,omitempty" json:"state,omitempty"`
}
GetAllImpersonationTokensOptions represents the available GetAllImpersonationTokens() options.
GitLab API docs: https://docs.gitlab.com/api/user_tokens/#list-all-impersonation-tokens-for-a-user
type GetAvatarOptions ¶
type GetAvatarOptions struct {
Email *string `url:"email,omitempty" json:"email,omitempty"`
Size *int64 `url:"size,omitempty" json:"size,omitempty"`
}
GetAvatarOptions represents the available GetAvatar() options.
GitLab API docs: https://docs.gitlab.com/api/avatar/#get-details-on-an-account-avatar
type GetCommitCommentsOptions ¶
type GetCommitCommentsOptions struct {
ListOptions
}
GetCommitCommentsOptions represents the available GetCommitComments() options.
GitLab API docs: https://docs.gitlab.com/api/commits/#get-the-comments-of-a-commit
type GetCommitDiffOptions ¶
type GetCommitDiffOptions struct {
ListOptions
Unidiff *bool `url:"unidiff,omitempty" json:"unidiff,omitempty"`
}
GetCommitDiffOptions represents the available GetCommitDiff() options.
GitLab API docs: https://docs.gitlab.com/api/commits/#get-the-diff-of-a-commit
type GetCommitOptions ¶
type GetCommitOptions struct {
Stats *bool `url:"stats,omitempty" json:"stats,omitempty"`
}
GetCommitOptions represents the available GetCommit() options.
GitLab API docs: https://docs.gitlab.com/api/commits/#get-a-single-commit
type GetCommitRefsOptions ¶
type GetCommitRefsOptions struct {
ListOptions
Type *string `url:"type,omitempty" json:"type,omitempty"`
}
GetCommitRefsOptions represents the available GetCommitRefs() options.
GitLab API docs: https://docs.gitlab.com/api/commits/#get-references-a-commit-is-pushed-to
type GetCommitStatusesOptions ¶
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"`
PipelineID *int64 `url:"pipeline_id,omitempty" json:"pipeline_id,omitempty"`
All *bool `url:"all,omitempty" json:"all,omitempty"`
}
GetCommitStatusesOptions represents the available GetCommitStatuses() options.
GitLab API docs: https://docs.gitlab.com/api/commits/#list-the-statuses-of-a-commit
type GetCurrentPlanLimitsOptions ¶
type GetCurrentPlanLimitsOptions struct {
PlanName *string `url:"plan_name,omitempty" json:"plan_name,omitempty"`
}
GetCurrentPlanLimitsOptions represents the available GetCurrentPlanLimits() options.
GitLab API docs: https://docs.gitlab.com/api/plan_limits/#get-current-plan-limits
type GetDORAMetricsOptions ¶
type GetDORAMetricsOptions struct {
Metric *DORAMetricType `url:"metric,omitempty" json:"metric,omitempty"`
EndDate *ISOTime `url:"end_date,omitempty" json:"end_date,omitempty"`
EnvironmentTiers *[]string `url:"environment_tiers,comma,omitempty" json:"environment_tiers,omitempty"`
Interval *DORAMetricInterval `url:"interval,omitempty" json:"interval,omitempty"`
StartDate *ISOTime `url:"start_date,omitempty" json:"start_date,omitempty"`
}
GetDORAMetricsOptions represent the request body options for getting DORA metrics
GitLab API docs: https://docs.gitlab.com/api/dora/metrics/
type GetFileBlameOptions ¶
type GetFileBlameOptions struct {
Ref *string `url:"ref,omitempty" json:"ref,omitempty"`
RangeStart *int64 `url:"range[start],omitempty" json:"range[start],omitempty"`
RangeEnd *int64 `url:"range[end],omitempty" json:"range[end],omitempty"`
}
GetFileBlameOptions represents the available GetFileBlame() options.
GitLab API docs: https://docs.gitlab.com/api/repository_files/#get-file-blame-from-repository
type GetFileMetaDataOptions ¶
type GetFileMetaDataOptions struct {
Ref *string `url:"ref,omitempty" json:"ref,omitempty"`
}
GetFileMetaDataOptions represents the available GetFileMetaData() options.
GitLab API docs: https://docs.gitlab.com/api/repository_files/#get-file-from-repository
type GetFileOptions ¶
type GetFileOptions struct {
Ref *string `url:"ref,omitempty" json:"ref,omitempty"`
}
GetFileOptions represents the available GetFile() options.
GitLab API docs: https://docs.gitlab.com/api/repository_files/#get-file-from-repository
type GetGroupIssuesStatisticsOptions ¶
type GetGroupIssuesStatisticsOptions struct {
Labels *LabelOptions `url:"labels,omitempty" json:"labels,omitempty"`
IIDs *[]int64 `url:"iids[],omitempty" json:"iids,omitempty"`
Milestone *string `url:"milestone,omitempty" json:"milestone,omitempty"`
Scope *string `url:"scope,omitempty" json:"scope,omitempty"`
AuthorID *int64 `url:"author_id,omitempty" json:"author_id,omitempty"`
AuthorUsername *string `url:"author_username,omitempty" json:"author_username,omitempty"`
AssigneeID *int64 `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"`
}
GetGroupIssuesStatisticsOptions represents the available GetGroupIssuesStatistics() options.
GitLab API docs: https://docs.gitlab.com/api/issues_statistics/#get-group-issues-statistics
type GetGroupMilestoneBurndownChartEventsOptions ¶
type GetGroupMilestoneBurndownChartEventsOptions struct {
ListOptions
}
GetGroupMilestoneBurndownChartEventsOptions represents the available GetGroupMilestoneBurndownChartEventsOptions() options.
GitLab API docs: https://docs.gitlab.com/api/group_milestones/#get-all-burndown-chart-events-for-a-single-milestone
type GetGroupMilestoneIssuesOptions ¶
type GetGroupMilestoneIssuesOptions struct {
ListOptions
}
GetGroupMilestoneIssuesOptions represents the available GetGroupMilestoneIssues() options.
GitLab API docs: https://docs.gitlab.com/api/group_milestones/#get-all-issues-assigned-to-a-single-milestone
type GetGroupMilestoneMergeRequestsOptions ¶
type GetGroupMilestoneMergeRequestsOptions struct {
ListOptions
}
GetGroupMilestoneMergeRequestsOptions represents the available GetGroupMilestoneMergeRequests() options.
GitLab API docs: https://docs.gitlab.com/api/group_milestones/#get-all-merge-requests-assigned-to-a-single-milestone
type GetGroupOptions ¶
type GetGroupOptions struct {
ListOptions
WithCustomAttributes *bool `url:"with_custom_attributes,omitempty" json:"with_custom_attributes,omitempty"`
// Deprecated: will be removed in v5 of the API, use ListGroupProjects instead
WithProjects *bool `url:"with_projects,omitempty" json:"with_projects,omitempty"`
}
GetGroupOptions represents the available GetGroup() options.
GitLab API docs: https://docs.gitlab.com/api/groups/#get-a-single-group
type GetGroupVariableOptions ¶
type GetGroupVariableOptions struct {
Filter *VariableFilter `url:"filter,omitempty" json:"filter,omitempty"`
}
GetGroupVariableOptions represents the available GetVariable() options.
GitLab API docs: https://docs.gitlab.com/api/group_level_variables/#show-variable-details
type GetGroupWikiPageOptions ¶
type GetGroupWikiPageOptions struct {
RenderHTML *bool `url:"render_html,omitempty" json:"render_html,omitempty"`
Version *string `url:"version,omitempty" json:"version,omitempty"`
}
GetGroupWikiPageOptions represents options to GetGroupWikiPage
GitLab API docs: https://docs.gitlab.com/api/group_wikis/#get-a-wiki-page
type GetIssueBoardListsOptions ¶
type GetIssueBoardListsOptions struct {
ListOptions
}
GetIssueBoardListsOptions represents the available GetIssueBoardLists() options.
GitLab API docs: https://docs.gitlab.com/api/boards/#list-board-lists-in-a-project-issue-board
type GetIssuesClosedOnMergeOptions ¶
type GetIssuesClosedOnMergeOptions struct {
ListOptions
}
GetIssuesClosedOnMergeOptions represents the available GetIssuesClosedOnMerge() options.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#list-issues-that-close-on-merge
type GetIssuesStatisticsOptions ¶
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 *int64 `url:"author_id,omitempty" json:"author_id,omitempty"`
AuthorUsername *string `url:"author_username,omitempty" json:"author_username,omitempty"`
AssigneeID *int64 `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 *[]int64 `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"`
}
GetIssuesStatisticsOptions represents the available GetIssuesStatistics() options.
GitLab API docs: https://docs.gitlab.com/api/issues_statistics/#get-issues-statistics
type GetJobTokenAllowlistGroupsOptions ¶
type GetJobTokenAllowlistGroupsOptions struct {
ListOptions
}
GetJobTokenAllowlistGroupsOptions represents the available GetJobTokenAllowlistGroups() options.
GitLab API docs: https://docs.gitlab.com/api/project_job_token_scopes/#get-a-projects-cicd-job-token-allowlist-of-groups
type GetJobTokenInboundAllowListOptions ¶
type GetJobTokenInboundAllowListOptions struct {
ListOptions
}
GetJobTokenInboundAllowListOptions represents the available GetJobTokenInboundAllowList() options.
GitLab API docs: https://docs.gitlab.com/api/project_job_token_scopes/#get-a-projects-cicd-job-token-inbound-allowlist
type GetJobTokensJobOptions ¶
type GetJobTokensJobOptions struct {
JobToken *string `url:"job_token,omitempty" json:"job_token,omitempty"`
}
GetJobTokensJobOptions represents the available GetJobTokensJob() options.
GitLab API docs: https://docs.gitlab.com/api/jobs/#get-job-tokens-job
type GetKeyByFingerprintOptions ¶
type GetKeyByFingerprintOptions struct {
Fingerprint string `url:"fingerprint" json:"fingerprint"`
}
GetKeyByFingerprintOptions represents the available GetKeyByFingerprint() options.
GitLab API docs: https://docs.gitlab.com/api/keys/#get-user-by-fingerprint-of-ssh-key https://docs.gitlab.com/api/keys/#get-user-by-deploy-key-fingerprint
type GetLatestPipelineOptions ¶
type GetLatestPipelineOptions struct {
Ref *string `url:"ref,omitempty" json:"ref,omitempty"`
}
GetLatestPipelineOptions represents the available GetLatestPipeline() options.
GitLab API docs: https://docs.gitlab.com/api/pipelines/#get-the-latest-pipeline
type GetLicenseTemplateOptions ¶
type GetLicenseTemplateOptions struct {
Project *string `url:"project,omitempty" json:"project,omitempty"`
Fullname *string `url:"fullname,omitempty" json:"fullname,omitempty"`
}
GetLicenseTemplateOptions represents the available GetLicenseTemplate() options.
GitLab API docs: https://docs.gitlab.com/api/templates/licenses/#single-license-template
type GetMergeRequestChangesOptions ¶
type GetMergeRequestChangesOptions struct {
AccessRawDiffs *bool `url:"access_raw_diffs,omitempty" json:"access_raw_diffs,omitempty"`
Unidiff *bool `url:"unidiff,omitempty" json:"unidiff,omitempty"`
}
GetMergeRequestChangesOptions represents the available GetMergeRequestChanges() options. Deprecated: This endpoint has been replaced by MergeRequestsService.ListMergeRequestDiffs()
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#get-single-merge-request-changes
type GetMergeRequestCommitsOptions ¶
type GetMergeRequestCommitsOptions struct {
ListOptions
}
GetMergeRequestCommitsOptions represents the available GetMergeRequestCommits() options.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#get-single-merge-request-commits
type GetMergeRequestDiffVersionsOptions ¶
type GetMergeRequestDiffVersionsOptions struct {
ListOptions
}
GetMergeRequestDiffVersionsOptions represents the available GetMergeRequestDiffVersions() options.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#get-merge-request-diff-versions
type GetMergeRequestsOptions ¶
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"`
}
GetMergeRequestsOptions represents the available GetMergeRequests() options.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#get-single-mr
type GetMilestoneIssuesOptions ¶
type GetMilestoneIssuesOptions struct {
ListOptions
}
GetMilestoneIssuesOptions represents the available GetMilestoneIssues() options.
GitLab API docs: https://docs.gitlab.com/api/milestones/#get-all-issues-assigned-to-a-single-milestone
type GetMilestoneMergeRequestsOptions ¶
type GetMilestoneMergeRequestsOptions struct {
ListOptions
}
GetMilestoneMergeRequestsOptions represents the available GetMilestoneMergeRequests() options.
GitLab API docs: https://docs.gitlab.com/api/milestones/#get-all-merge-requests-assigned-to-a-single-milestone
type GetProjectApprovalRulesListsOptions ¶
type GetProjectApprovalRulesListsOptions struct {
ListOptions
}
GetProjectApprovalRulesListsOptions represents the available GetProjectApprovalRules() options.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#get-all-approval-rules-for-project
type GetProjectIssuesStatisticsOptions ¶
type GetProjectIssuesStatisticsOptions struct {
IIDs *[]int64 `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 *int64 `url:"author_id,omitempty" json:"author_id,omitempty"`
AuthorUsername *string `url:"author_username,omitempty" json:"author_username,omitempty"`
AssigneeID *int64 `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"`
}
GetProjectIssuesStatisticsOptions represents the available GetProjectIssuesStatistics() options.
GitLab API docs: https://docs.gitlab.com/api/issues_statistics/#get-project-issues-statistics
type GetProjectOptions ¶
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"`
}
GetProjectOptions represents the available GetProject() options.
GitLab API docs: https://docs.gitlab.com/api/projects/#get-a-single-project
type GetProjectVariableOptions ¶
type GetProjectVariableOptions struct {
Filter *VariableFilter `url:"filter,omitempty" json:"filter,omitempty"`
}
GetProjectVariableOptions represents the available GetVariable() options.
GitLab API docs: https://docs.gitlab.com/api/project_level_variables/#get-a-single-variable
type GetRawFileOptions ¶
type GetRawFileOptions struct {
Ref *string `url:"ref,omitempty" json:"ref,omitempty"`
LFS *bool `url:"lfs,omitempty" json:"lfs,omitempty"`
}
GetRawFileOptions represents the available GetRawFile() options.
GitLab API docs: https://docs.gitlab.com/api/repository_files/#get-raw-file-from-repository
type GetRecentlyAddedMembersCountOptions ¶
type GetRecentlyAddedMembersCountOptions struct {
GroupPath string `url:"group_path" json:"group_path"`
}
GetRecentlyAddedMembersCountOptions represents the available GetRecentlyAddedMembersCount() options.
GitLab API docs: https://docs.gitlab.com/api/group_activity_analytics/#get-count-of-members-recently-added-to-group
type GetRecentlyCreatedIssuesCountOptions ¶
type GetRecentlyCreatedIssuesCountOptions struct {
GroupPath string `url:"group_path" json:"group_path"`
}
GetRecentlyCreatedIssuesCountOptions represents the available GetRecentlyCreatedIssuesCount() options.
GitLab API docs: https://docs.gitlab.com/api/group_activity_analytics/#get-count-of-recently-created-issues-for-group
type GetRecentlyCreatedMergeRequestsCountOptions ¶
type GetRecentlyCreatedMergeRequestsCountOptions struct {
GroupPath string `url:"group_path" json:"group_path"`
}
GetRecentlyCreatedMergeRequestsCountOptions represents the available GetRecentlyCreatedMergeRequestsCount() options.
GitLab API docs: https://docs.gitlab.com/api/group_activity_analytics/#get-count-of-recently-created-merge-requests-for-group
type GetSingleMergeRequestDiffVersionOptions ¶
type GetSingleMergeRequestDiffVersionOptions struct {
Unidiff *bool `url:"unidiff,omitempty" json:"unidiff,omitempty"`
}
GetSingleMergeRequestDiffVersionOptions represents the available GetSingleMergeRequestDiffVersion() options.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#get-a-single-merge-request-diff-version
type GetSingleRegistryRepositoryOptions ¶
type GetSingleRegistryRepositoryOptions struct {
Tags *bool `url:"tags,omitempty" json:"tags,omitempty"`
TagsCount *bool `url:"tags_count,omitempty" json:"tags_count,omitempty"`
}
GetSingleRegistryRepositoryOptions represents the available GetSingleRegistryRepository() options.
GitLab API docs: https://docs.gitlab.com/api/container_registry/#get-details-of-a-single-repository
type GetUserActivitiesOptions ¶
type GetUserActivitiesOptions struct {
ListOptions
From *ISOTime `url:"from,omitempty" json:"from,omitempty"`
}
GetUserActivitiesOptions represents the options for GetUserActivities
GitLab API docs: https://docs.gitlab.com/api/users/#list-a-users-activity
type GetUserMembershipOptions ¶
type GetUserMembershipOptions struct {
ListOptions
Type *string `url:"type,omitempty" json:"type,omitempty"`
}
GetUserMembershipOptions represents the options available to query user memberships.
GitLab API docs: https://docs.gitlab.com/api/users/#list-projects-and-groups-that-a-user-is-a-member-of
type GetUserOptions ¶
type GetUserOptions struct {
WithCustomAttributes *bool `url:"with_custom_attributes,omitempty" json:"with_custom_attributes,omitempty"`
}
GetUserOptions represents the available GetUser() options.
GitLab API docs: https://docs.gitlab.com/api/users/#get-a-single-user
type GetWikiPageOptions ¶
type GetWikiPageOptions struct {
RenderHTML *bool `url:"render_html,omitempty" json:"render_html,omitempty"`
Version *string `url:"version,omitempty" json:"version,omitempty"`
}
GetWikiPageOptions represents options to GetWikiPage
GitLab API docs: https://docs.gitlab.com/api/wikis/#get-a-wiki-page
type GitHubImport ¶
type GitHubImport struct {
ID int64 `json:"id"`
Name string `json:"name"`
FullPath string `json:"full_path"`
FullName string `json:"full_name"`
RefsURL string `json:"refs_url"`
ImportSource string `json:"import_source"`
ImportStatus string `json:"import_status"`
HumanImportStatusName string `json:"human_import_status_name"`
ProviderLink string `json:"provider_link"`
RelationType string `json:"relation_type"`
ImportWarning string `json:"import_warning"`
}
GitHubImport represents the response from an import from GitHub.
GitLab API docs: https://docs.gitlab.com/api/import/#import-repository-from-github
func (GitHubImport) String ¶
func (s GitHubImport) String() string
type GitIgnoreTemplate ¶
GitIgnoreTemplate represents a GitLab gitignore template.
GitLab API docs: https://docs.gitlab.com/api/templates/gitignores/
type GitIgnoreTemplateListItem ¶
GitIgnoreTemplateListItem represents a GitLab gitignore template from the list.
GitLab API docs: https://docs.gitlab.com/api/templates/gitignores/
type GitIgnoreTemplatesService ¶
type GitIgnoreTemplatesService struct {
// contains filtered or unexported fields
}
GitIgnoreTemplatesService handles communication with the gitignore templates related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/templates/gitignores/
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/api/templates/gitignores/#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/api/templates/gitignores/#get-all-gitignore-templates
type GitIgnoreTemplatesServiceInterface ¶
type GitIgnoreTemplatesServiceInterface interface {
ListTemplates(*ListTemplatesOptions, ...RequestOptionFunc) ([]*GitIgnoreTemplateListItem, *Response, error)
GetTemplate(string, ...RequestOptionFunc) (*GitIgnoreTemplate, *Response, error)
}
GitIgnoreTemplatesServiceInterface defines all the API methods for the GitIgnoreTemplatesService
type GithubService ¶
type GithubService struct {
Service
Properties *GithubServiceProperties `json:"properties"`
}
GithubService represents Github service settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#github
type GithubServiceProperties ¶
type GithubServiceProperties struct {
RepositoryURL string `json:"repository_url"`
StaticContext bool `json:"static_context"`
}
GithubServiceProperties represents Github specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#github
type GoogleChatIntegration ¶
type GoogleChatIntegration struct {
Integration
Properties GoogleChatIntegrationProperties `json:"properties"`
}
GoogleChatIntegration represents the Google Chat integration settings.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#google-chat
type GoogleChatIntegrationProperties ¶
type GoogleChatIntegrationProperties struct {
NotifyOnlyBrokenPipelines bool `json:"notify_only_broken_pipelines,omitempty"`
NotifyOnlyWhenPipelineStatusChanges bool `json:"notify_only_when_pipeline_status_changes,omitempty"`
NotifyOnlyDefaultBranch bool `json:"notify_only_default_branch,omitempty"`
BranchesToBeNotified string `json:"branches_to_be_notified,omitempty"`
PushEvents bool `json:"push_events,omitempty"`
IssuesEvents bool `json:"issues_events,omitempty"`
ConfidentialIssuesEvents bool `json:"confidential_issues_events,omitempty"`
MergeRequestsEvents bool `json:"merge_requests_events,omitempty"`
TagPushEvents bool `json:"tag_push_events,omitempty"`
NoteEvents bool `json:"note_events,omitempty"`
ConfidentialNoteEvents bool `json:"confidential_note_events,omitempty"`
PipelineEvents bool `json:"pipeline_events,omitempty"`
WikiPageEvents bool `json:"wiki_page_events,omitempty"`
}
GoogleChatIntegrationProperties represents Google Chat specific properties.
type GraphQL ¶
type GraphQL struct {
// contains filtered or unexported fields
}
func (*GraphQL) Do ¶
func (g *GraphQL) Do(query GraphQLQuery, response any, options ...RequestOptionFunc) (*Response, error)
Do sends a GraphQL query and returns the response in the given response argument The response must be JSON serializable. The *Response return value is the HTTP response and must be used to retrieve additional HTTP information, like status codes and also error messages from failed queries.
Example:
var response struct {
Data struct {
Project struct {
ID string `json:"id"`
} `json:"project"`
} `json:"data"`
}
_, err := client.GraphQL.Do(GraphQLQuery{Query: `query { project(fullPath: "gitlab-org/gitlab") { id } }`}, &response, gitlab.WithContext(ctx))
Attention: This API is experimental and may be subject to breaking changes to improve the API in the future.
type GraphQLInterface ¶
type GraphQLInterface interface {
Do(query GraphQLQuery, response any, options ...RequestOptionFunc) (*Response, error)
}
type GraphQLQuery ¶
type GraphQLResponseError ¶
type GraphQLResponseError struct {
Err error
Errors GenericGraphQLErrors
}
func (*GraphQLResponseError) Error ¶
func (e *GraphQLResponseError) Error() string
type Group ¶
type Group struct {
ID int64 `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"`
MaxArtifactsSize int64 `json:"max_artifacts_size"`
DefaultBranch string `json:"default_branch"`
DefaultBranchProtectionDefaults *BranchProtectionDefaults `json:"default_branch_protection_defaults"`
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 int64 `json:"file_template_project_id"`
ParentID int64 `json:"parent_id"`
Statistics *Statistics `json:"statistics"`
CustomAttributes []*CustomAttribute `json:"custom_attributes"`
RequireTwoFactorAuth bool `json:"require_two_factor_authentication"`
TwoFactorGracePeriod int64 `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"`
LDAPCN string `json:"ldap_cn"`
LDAPAccess AccessLevelValue `json:"ldap_access"`
LDAPGroupLinks []*LDAPGroupLink `json:"ldap_group_links"`
SAMLGroupLinks []*SAMLGroupLink `json:"saml_group_links"`
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"`
AllowedEmailDomainsList string `json:"allowed_email_domains_list"`
WikiAccessLevel AccessControlValue `json:"wiki_access_level"`
OnlyAllowMergeIfPipelineSucceeds bool `json:"only_allow_merge_if_pipeline_succeeds"`
AllowMergeOnSkippedPipeline bool `json:"allow_merge_on_skipped_pipeline"`
OnlyAllowMergeIfAllDiscussionsAreResolved bool `json:"only_allow_merge_if_all_discussions_are_resolved"`
// Deprecated: will be removed in v5 of the API, use ListGroupProjects instead
Projects []*Project `json:"projects"`
SharedProjects []*Project `json:"shared_projects"`
// Deprecated: Use EmailsEnabled instead
EmailsDisabled bool `json:"emails_disabled"`
// Deprecated: Use DefaultBranchProtectionDefaults instead
DefaultBranchProtection int64 `json:"default_branch_protection"`
}
Group represents a GitLab group.
GitLab API docs: https://docs.gitlab.com/api/groups/
type GroupAccess ¶
type GroupAccess struct {
AccessLevel AccessLevelValue `json:"access_level"`
NotificationLevel NotificationLevelValue `json:"notification_level"`
}
GroupAccess represents group access.
type GroupAccessLevel ¶
type GroupAccessLevel struct {
AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
}
GroupAccessLevel represents default branch protection defaults access levels.
GitLab API docs: https://docs.gitlab.com/api/groups/#options-for-default_branch_protection_defaults
type GroupAccessToken ¶
type GroupAccessToken resourceAccessToken
GroupAccessToken represents a GitLab group access token.
GitLab API docs: https://docs.gitlab.com/api/group_access_tokens/
func (GroupAccessToken) String ¶
func (v GroupAccessToken) String() string
type GroupAccessTokensService ¶
type GroupAccessTokensService struct {
// contains filtered or unexported fields
}
GroupAccessTokensService handles communication with the groups access tokens related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_access_tokens/
func (*GroupAccessTokensService) CreateGroupAccessToken ¶
func (s *GroupAccessTokensService) CreateGroupAccessToken(gid any, opt *CreateGroupAccessTokenOptions, options ...RequestOptionFunc) (*GroupAccessToken, *Response, error)
CreateGroupAccessToken creates a new group access token.
GitLab API docs: https://docs.gitlab.com/api/group_access_tokens/#create-a-group-access-token
func (*GroupAccessTokensService) GetGroupAccessToken ¶
func (s *GroupAccessTokensService) GetGroupAccessToken(gid any, id int64, options ...RequestOptionFunc) (*GroupAccessToken, *Response, error)
GetGroupAccessToken gets a single group access tokens in a group.
GitLab API docs: https://docs.gitlab.com/api/group_access_tokens/#get-details-on-a-group-access-token
func (*GroupAccessTokensService) ListGroupAccessTokens ¶
func (s *GroupAccessTokensService) ListGroupAccessTokens(gid any, 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/api/group_access_tokens/#list-all-group-access-tokens
func (*GroupAccessTokensService) RevokeGroupAccessToken ¶
func (s *GroupAccessTokensService) RevokeGroupAccessToken(gid any, id int64, options ...RequestOptionFunc) (*Response, error)
RevokeGroupAccessToken revokes a group access token.
GitLab API docs: https://docs.gitlab.com/api/group_access_tokens/#revoke-a-group-access-token
func (*GroupAccessTokensService) RotateGroupAccessToken ¶
func (s *GroupAccessTokensService) RotateGroupAccessToken(gid any, id int64, 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/api/group_access_tokens/#rotate-a-group-access-token
func (*GroupAccessTokensService) RotateGroupAccessTokenSelf ¶
func (s *GroupAccessTokensService) RotateGroupAccessTokenSelf(gid any, opt *RotateGroupAccessTokenOptions, options ...RequestOptionFunc) (*GroupAccessToken, *Response, error)
RotateGroupAccessTokenSelf revokes the group access token used for the request and returns a new group access token that expires in one week per default.
GitLab API docs: https://docs.gitlab.com/api/group_access_tokens/#self-rotate
type GroupAccessTokensServiceInterface ¶
type GroupAccessTokensServiceInterface interface {
ListGroupAccessTokens(gid any, opt *ListGroupAccessTokensOptions, options ...RequestOptionFunc) ([]*GroupAccessToken, *Response, error)
GetGroupAccessToken(gid any, id int64, options ...RequestOptionFunc) (*GroupAccessToken, *Response, error)
CreateGroupAccessToken(gid any, opt *CreateGroupAccessTokenOptions, options ...RequestOptionFunc) (*GroupAccessToken, *Response, error)
RotateGroupAccessToken(gid any, id int64, opt *RotateGroupAccessTokenOptions, options ...RequestOptionFunc) (*GroupAccessToken, *Response, error)
RotateGroupAccessTokenSelf(gid any, opt *RotateGroupAccessTokenOptions, options ...RequestOptionFunc) (*GroupAccessToken, *Response, error)
RevokeGroupAccessToken(gid any, id int64, options ...RequestOptionFunc) (*Response, error)
}
GroupAccessTokensServiceInterface defines all the API methods for the GroupAccessTokensService
type GroupActivityAnalyticsService ¶
type GroupActivityAnalyticsService struct {
// contains filtered or unexported fields
}
GroupActivityAnalyticsService handles communication with the group activity analytics related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_activity_analytics/
func (*GroupActivityAnalyticsService) GetRecentlyAddedMembersCount ¶
func (s *GroupActivityAnalyticsService) GetRecentlyAddedMembersCount(opt *GetRecentlyAddedMembersCountOptions, options ...RequestOptionFunc) (*NewMembersCount, *Response, error)
func (*GroupActivityAnalyticsService) GetRecentlyCreatedIssuesCount ¶
func (s *GroupActivityAnalyticsService) GetRecentlyCreatedIssuesCount(opt *GetRecentlyCreatedIssuesCountOptions, options ...RequestOptionFunc) (*IssuesCount, *Response, error)
func (*GroupActivityAnalyticsService) GetRecentlyCreatedMergeRequestsCount ¶
func (s *GroupActivityAnalyticsService) GetRecentlyCreatedMergeRequestsCount(opt *GetRecentlyCreatedMergeRequestsCountOptions, options ...RequestOptionFunc) (*MergeRequestsCount, *Response, error)
type GroupActivityAnalyticsServiceInterface ¶
type GroupActivityAnalyticsServiceInterface interface {
// GetRecentlyCreatedIssuesCount gets the count of recently created issues for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_activity_analytics/#get-count-of-recently-created-issues-for-group
GetRecentlyCreatedIssuesCount(opt *GetRecentlyCreatedIssuesCountOptions, options ...RequestOptionFunc) (*IssuesCount, *Response, error)
// GetRecentlyCreatedMergeRequestsCount gets the count of recently created merge
// requests for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_activity_analytics/#get-count-of-recently-created-merge-requests-for-group
GetRecentlyCreatedMergeRequestsCount(opt *GetRecentlyCreatedMergeRequestsCountOptions, options ...RequestOptionFunc) (*MergeRequestsCount, *Response, error)
// GetRecentlyAddedMembersCount gets the count of recently added members to a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_activity_analytics/#get-count-of-members-recently-added-to-group
GetRecentlyAddedMembersCount(opt *GetRecentlyAddedMembersCountOptions, options ...RequestOptionFunc) (*NewMembersCount, *Response, error)
}
type GroupAvatar ¶
GroupAvatar represents a GitLab group avatar.
GitLab API docs: https://docs.gitlab.com/api/groups/
func (*GroupAvatar) MarshalJSON ¶
func (a *GroupAvatar) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
type GroupBadge ¶
type GroupBadge struct {
ID int64 `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"`
}
GroupBadge represents a group badge.
GitLab API docs: https://docs.gitlab.com/api/group_badges/
type GroupBadgePreviewOptions ¶
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"`
}
GroupBadgePreviewOptions represents the available PreviewGroupBadge() options.
GitLab API docs: https://docs.gitlab.com/api/group_badges/#preview-a-badge-from-a-group
type GroupBadgesService ¶
type GroupBadgesService struct {
// contains filtered or unexported fields
}
GroupBadgesService handles communication with the group badges
GitLab API docs: https://docs.gitlab.com/api/group_badges/
func (*GroupBadgesService) AddGroupBadge ¶
func (s *GroupBadgesService) AddGroupBadge(gid any, opt *AddGroupBadgeOptions, options ...RequestOptionFunc) (*GroupBadge, *Response, error)
AddGroupBadge adds a badge to a group.
GitLab API docs: https://docs.gitlab.com/api/group_badges/#add-a-badge-to-a-group
func (*GroupBadgesService) DeleteGroupBadge ¶
func (s *GroupBadgesService) DeleteGroupBadge(gid any, badge int64, options ...RequestOptionFunc) (*Response, error)
DeleteGroupBadge removes a badge from a group.
GitLab API docs: https://docs.gitlab.com/api/group_badges/#remove-a-badge-from-a-group
func (*GroupBadgesService) EditGroupBadge ¶
func (s *GroupBadgesService) EditGroupBadge(gid any, badge int64, opt *EditGroupBadgeOptions, options ...RequestOptionFunc) (*GroupBadge, *Response, error)
EditGroupBadge updates a badge of a group.
GitLab API docs: https://docs.gitlab.com/api/group_badges/#edit-a-badge-of-a-group
func (*GroupBadgesService) GetGroupBadge ¶
func (s *GroupBadgesService) GetGroupBadge(gid any, badge int64, options ...RequestOptionFunc) (*GroupBadge, *Response, error)
GetGroupBadge gets a group badge.
GitLab API docs: https://docs.gitlab.com/api/group_badges/#get-a-badge-of-a-group
func (*GroupBadgesService) ListGroupBadges ¶
func (s *GroupBadgesService) ListGroupBadges(gid any, opt *ListGroupBadgesOptions, options ...RequestOptionFunc) ([]*GroupBadge, *Response, error)
ListGroupBadges gets a list of a group badges.
GitLab API docs: https://docs.gitlab.com/api/group_badges/#list-all-badges-of-a-group
func (*GroupBadgesService) PreviewGroupBadge ¶
func (s *GroupBadgesService) PreviewGroupBadge(gid any, 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/api/group_badges/#preview-a-badge-from-a-group
type GroupBadgesServiceInterface ¶
type GroupBadgesServiceInterface interface {
ListGroupBadges(gid any, opt *ListGroupBadgesOptions, options ...RequestOptionFunc) ([]*GroupBadge, *Response, error)
GetGroupBadge(gid any, badge int64, options ...RequestOptionFunc) (*GroupBadge, *Response, error)
AddGroupBadge(gid any, opt *AddGroupBadgeOptions, options ...RequestOptionFunc) (*GroupBadge, *Response, error)
EditGroupBadge(gid any, badge int64, opt *EditGroupBadgeOptions, options ...RequestOptionFunc) (*GroupBadge, *Response, error)
DeleteGroupBadge(gid any, badge int64, options ...RequestOptionFunc) (*Response, error)
PreviewGroupBadge(gid any, opt *GroupBadgePreviewOptions, options ...RequestOptionFunc) (*GroupBadge, *Response, error)
}
GroupBadgesServiceInterface defines all the API methods for the GroupBadgesService
type GroupBranchAccessDescription ¶
type GroupBranchAccessDescription struct {
ID int64 `json:"id"`
AccessLevel AccessLevelValue `json:"access_level"`
AccessLevelDescription string `json:"access_level_description"`
DeployKeyID int64 `json:"deploy_key_id"`
UserID int64 `json:"user_id"`
GroupID int64 `json:"group_id"`
}
GroupBranchAccessDescription represents the access description for a group protected branch.
GitLab API docs: https://docs.gitlab.com/api/group_protected_branches/#list-protected-branches
type GroupBranchPermissionOptions ¶
type GroupBranchPermissionOptions struct {
ID *int64 `url:"id,omitempty" json:"id,omitempty"`
UserID *int64 `url:"user_id,omitempty" json:"user_id,omitempty"`
GroupID *int64 `url:"group_id,omitempty" json:"group_id,omitempty"`
DeployKeyID *int64 `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"`
}
GroupBranchPermissionOptions represents a branch permission option.
GitLab API docs: https://docs.gitlab.com/api/group_protected_branches/#protect-repository-branches
type GroupCluster ¶
type GroupCluster struct {
ID int64 `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"`
}
GroupCluster represents a GitLab Group Cluster. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/group_clusters/
func (GroupCluster) String
deprecated
func (v GroupCluster) String() string
Deprecated: in GitLab 14.5, to be removed in 19.0
type GroupClustersService ¶
type GroupClustersService struct {
// contains filtered or unexported fields
}
GroupClustersService handles communication with the group clusters related methods of the GitLab API. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/group_clusters/
func (*GroupClustersService) AddCluster ¶
func (s *GroupClustersService) AddCluster(pid any, opt *AddGroupClusterOptions, options ...RequestOptionFunc) (*GroupCluster, *Response, error)
AddCluster adds an existing cluster to the group. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/group_clusters/#add-existing-cluster-to-group
func (*GroupClustersService) DeleteCluster ¶
func (s *GroupClustersService) DeleteCluster(pid any, cluster int64, options ...RequestOptionFunc) (*Response, error)
DeleteCluster deletes an existing group cluster. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/group_clusters/#delete-group-cluster
func (*GroupClustersService) EditCluster ¶
func (s *GroupClustersService) EditCluster(pid any, cluster int64, opt *EditGroupClusterOptions, options ...RequestOptionFunc) (*GroupCluster, *Response, error)
EditCluster updates an existing group cluster. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/group_clusters/#edit-group-cluster
func (*GroupClustersService) GetCluster ¶
func (s *GroupClustersService) GetCluster(pid any, cluster int64, options ...RequestOptionFunc) (*GroupCluster, *Response, error)
GetCluster gets a cluster. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/group_clusters/#get-a-single-group-cluster
func (*GroupClustersService) ListClusters ¶
func (s *GroupClustersService) ListClusters(pid any, options ...RequestOptionFunc) ([]*GroupCluster, *Response, error)
ListClusters gets a list of all clusters in a group. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/group_clusters/#list-group-clusters
type GroupClustersServiceInterface
deprecated
type GroupClustersServiceInterface interface {
// Deprecated: in GitLab 14.5, to be removed in 19.0
ListClusters(pid any, options ...RequestOptionFunc) ([]*GroupCluster, *Response, error)
// Deprecated: in GitLab 14.5, to be removed in 19.0
GetCluster(pid any, cluster int64, options ...RequestOptionFunc) (*GroupCluster, *Response, error)
// Deprecated: in GitLab 14.5, to be removed in 19.0
AddCluster(pid any, opt *AddGroupClusterOptions, options ...RequestOptionFunc) (*GroupCluster, *Response, error)
// Deprecated: in GitLab 14.5, to be removed in 19.0
EditCluster(pid any, cluster int64, opt *EditGroupClusterOptions, options ...RequestOptionFunc) (*GroupCluster, *Response, error)
// Deprecated: in GitLab 14.5, to be removed in 19.0
DeleteCluster(pid any, cluster int64, options ...RequestOptionFunc) (*Response, error)
}
Deprecated: in GitLab 14.5, to be removed in 19.0
type GroupCredentialsService ¶
type GroupCredentialsService struct {
// contains filtered or unexported fields
}
GroupCredentialsService handles communication with the top-level group credentials inventory management endpoints of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/groups/#credentials-inventory-management
func (*GroupCredentialsService) DeleteGroupSSHKey ¶
func (g *GroupCredentialsService) DeleteGroupSSHKey(gid any, keyID int64, options ...RequestOptionFunc) (*Response, error)
func (*GroupCredentialsService) ListGroupPersonalAccessTokens ¶
func (g *GroupCredentialsService) ListGroupPersonalAccessTokens(gid any, opt *ListGroupPersonalAccessTokensOptions, options ...RequestOptionFunc) ([]*GroupPersonalAccessToken, *Response, error)
func (*GroupCredentialsService) ListGroupSSHKeys ¶
func (g *GroupCredentialsService) ListGroupSSHKeys(gid any, opt *ListGroupSSHKeysOptions, options ...RequestOptionFunc) ([]*GroupSSHKey, *Response, error)
func (*GroupCredentialsService) RevokeGroupPersonalAccessToken ¶
func (g *GroupCredentialsService) RevokeGroupPersonalAccessToken(gid any, tokenID int64, options ...RequestOptionFunc) (*Response, error)
type GroupCredentialsServiceInterface ¶
type GroupCredentialsServiceInterface interface {
// ListGroupPersonalAccessTokens lists all personal access tokens
// associated with enterprise users in a top-level group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/groups/#list-all-personal-access-tokens-for-a-group
ListGroupPersonalAccessTokens(gid any, opt *ListGroupPersonalAccessTokensOptions, options ...RequestOptionFunc) ([]*GroupPersonalAccessToken, *Response, error)
// ListGroupSSHKeys lists all SSH public keys associated with
// enterprise users in a top-level group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/groups/#list-all-ssh-keys-for-a-group
ListGroupSSHKeys(gid any, opt *ListGroupSSHKeysOptions, options ...RequestOptionFunc) ([]*GroupSSHKey, *Response, error)
// RevokeGroupPersonalAccessToken revokes a specified personal access token
// for an enterprise user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/groups/#revoke-a-personal-access-token-for-an-enterprise-user
RevokeGroupPersonalAccessToken(gid any, tokenID int64, options ...RequestOptionFunc) (*Response, error)
// DeleteGroupSSHKey deletes a specified SSH public key for an
// enterprise user associated with the top-level group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/groups/#delete-an-ssh-key-for-an-enterprise-user
DeleteGroupSSHKey(gid any, keyID int64, options ...RequestOptionFunc) (*Response, error)
}
type GroupEnvironmentAccessDescription ¶
type GroupEnvironmentAccessDescription struct {
ID int64 `json:"id"`
AccessLevel AccessLevelValue `json:"access_level"`
AccessLevelDescription string `json:"access_level_description"`
UserID int64 `json:"user_id"`
GroupID int64 `json:"group_id"`
GroupInheritanceType int64 `json:"group_inheritance_type"`
}
GroupEnvironmentAccessDescription represents the access description for a group-level protected environment.
GitLab API docs: https://docs.gitlab.com/api/group_protected_environments/
type GroupEnvironmentAccessOptions ¶
type GroupEnvironmentAccessOptions struct {
AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
UserID *int64 `url:"user_id,omitempty" json:"user_id,omitempty"`
GroupID *int64 `url:"group_id,omitempty" json:"group_id,omitempty"`
GroupInheritanceType *int64 `url:"group_inheritance_type,omitempty" json:"group_inheritance_type,omitempty"`
}
GroupEnvironmentAccessOptions represents the options for an access description for a group-level protected environment.
GitLab API docs: https://docs.gitlab.com/api/group_protected_environments/#protect-a-single-environment
type GroupEnvironmentApprovalRule ¶
type GroupEnvironmentApprovalRule struct {
ID int64 `json:"id"`
UserID int64 `json:"user_id"`
GroupID int64 `json:"group_id"`
AccessLevel AccessLevelValue `json:"access_level"`
AccessLevelDescription string `json:"access_level_description"`
RequiredApprovalCount int64 `json:"required_approvals"`
GroupInheritanceType int64 `json:"group_inheritance_type"`
}
GroupEnvironmentApprovalRule represents the approval rules for a group-level protected environment.
GitLab API docs: https://docs.gitlab.com/api/group_protected_environments/#protect-a-single-environment
type GroupEnvironmentApprovalRuleOptions ¶
type GroupEnvironmentApprovalRuleOptions struct {
UserID *int64 `url:"user_id,omitempty" json:"user_id,omitempty"`
GroupID *int64 `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 *int64 `url:"required_approvals,omitempty" json:"required_approvals,omitempty"`
GroupInheritanceType *int64 `url:"group_inheritance_type,omitempty" json:"group_inheritance_type,omitempty"`
}
GroupEnvironmentApprovalRuleOptions represents the approval rules for a group-level protected environment.
GitLab API docs: https://docs.gitlab.com/api/group_protected_environments/#protect-a-single-environment
type GroupEpicBoard ¶
type GroupEpicBoard struct {
ID int64 `json:"id"`
Name string `json:"name"`
Group *Group `json:"group"`
Labels []*LabelDetails `json:"labels"`
Lists []*BoardList `json:"lists"`
}
GroupEpicBoard represents a GitLab group epic board.
GitLab API docs: https://docs.gitlab.com/api/group_epic_boards/
func (GroupEpicBoard) String ¶
func (b GroupEpicBoard) String() string
type GroupEpicBoardsService ¶
type GroupEpicBoardsService struct {
// contains filtered or unexported fields
}
GroupEpicBoardsService handles communication with the group epic board related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_epic_boards/
func (*GroupEpicBoardsService) GetGroupEpicBoard ¶
func (s *GroupEpicBoardsService) GetGroupEpicBoard(gid any, board int64, options ...RequestOptionFunc) (*GroupEpicBoard, *Response, error)
GetGroupEpicBoard gets a single epic board of a group.
GitLab API docs: https://docs.gitlab.com/api/group_epic_boards/#single-group-epic-board
func (*GroupEpicBoardsService) ListGroupEpicBoards ¶
func (s *GroupEpicBoardsService) ListGroupEpicBoards(gid any, 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/api/group_epic_boards/#list-all-epic-boards-in-a-group
type GroupEpicBoardsServiceInterface ¶
type GroupEpicBoardsServiceInterface interface {
ListGroupEpicBoards(gid any, opt *ListGroupEpicBoardsOptions, options ...RequestOptionFunc) ([]*GroupEpicBoard, *Response, error)
GetGroupEpicBoard(gid any, board int64, options ...RequestOptionFunc) (*GroupEpicBoard, *Response, error)
}
type GroupHook ¶
type GroupHook struct {
ID int64 `json:"id"`
URL string `json:"url"`
Name string `json:"name"`
Description string `json:"description"`
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"`
AlertStatus string `json:"alert_status"`
PushEventsBranchFilter string `json:"push_events_branch_filter"`
BranchFilterStrategy string `json:"branch_filter_strategy"`
CustomWebhookTemplate string `json:"custom_webhook_template"`
CustomHeaders []*HookCustomHeader `url:"custom_headers,omitempty" json:"custom_headers,omitempty"`
GroupID int64 `json:"group_id"`
IssuesEvents bool `json:"issues_events"`
ConfidentialIssuesEvents bool `json:"confidential_issues_events"`
NoteEvents bool `json:"note_events"`
ConfidentialNoteEvents bool `json:"confidential_note_events"`
PipelineEvents bool `json:"pipeline_events"`
WikiPageEvents bool `json:"wiki_page_events"`
JobEvents bool `json:"job_events"`
DeploymentEvents bool `json:"deployment_events"`
FeatureFlagEvents bool `json:"feature_flag_events"`
ReleasesEvents bool `json:"releases_events"`
SubGroupEvents bool `json:"subgroup_events"`
EmojiEvents bool `json:"emoji_events"`
ResourceAccessTokenEvents bool `json:"resource_access_token_events"`
MemberEvents bool `json:"member_events"`
ProjectEvents bool `json:"project_events"`
MilestoneEvents bool `json:"milestone_events"`
VulnerabilityEvents bool `json:"vulnerability_events"`
}
GroupHook represents a GitLab group hook.
GitLab API docs: https://docs.gitlab.com/api/group_webhooks/
type GroupHookTrigger ¶
type GroupHookTrigger string
GroupHookTrigger represents the type of event to trigger for a group hook test.
const ( GroupHookTriggerPush GroupHookTrigger = "push_events" GroupHookTriggerTagPush GroupHookTrigger = "tag_push_events" GroupHookTriggerIssue GroupHookTrigger = "issues_events" GroupHookTriggerConfidentialIssue GroupHookTrigger = "confidential_issues_events" GroupHookTriggerNote GroupHookTrigger = "note_events" GroupHookTriggerMergeRequest GroupHookTrigger = "merge_requests_events" GroupHookTriggerJob GroupHookTrigger = "job_events" GroupHookTriggerPipeline GroupHookTrigger = "pipeline_events" GroupHookTriggerWikiPage GroupHookTrigger = "wiki_page_events" GroupHookTriggerRelease GroupHookTrigger = "releases_events" GroupHookTriggerEmoji GroupHookTrigger = "emoji_events" GroupHookTriggerResourceAccessToken GroupHookTrigger = "resource_access_token_events" )
List of available group hook trigger types.
type GroupImportExportService ¶
type GroupImportExportService struct {
// contains filtered or unexported fields
}
GroupImportExportService handles communication with the group import export related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_import_export/
func (*GroupImportExportService) ExportDownload ¶
func (s *GroupImportExportService) ExportDownload(gid any, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
ExportDownload downloads the finished export.
GitLab API docs: https://docs.gitlab.com/api/group_import_export/#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/api/group_import_export/#import-a-file
func (*GroupImportExportService) ScheduleExport ¶
func (s *GroupImportExportService) ScheduleExport(gid any, options ...RequestOptionFunc) (*Response, error)
ScheduleExport starts a new group export.
GitLab API docs: https://docs.gitlab.com/api/group_import_export/#schedule-new-export
type GroupImportExportServiceInterface ¶
type GroupImportExportServiceInterface interface {
ScheduleExport(gid any, options ...RequestOptionFunc) (*Response, error)
ExportDownload(gid any, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
ImportFile(opt *GroupImportFileOptions, options ...RequestOptionFunc) (*Response, error)
}
type GroupImportFileOptions ¶
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 *int64 `url:"parent_id,omitempty" json:"parent_id,omitempty"`
}
GroupImportFileOptions represents the available ImportFile() options.
GitLab API docs: https://docs.gitlab.com/api/group_import_export/#import-a-file
type GroupIssueBoard ¶
type GroupIssueBoard struct {
ID int64 `json:"id"`
Name string `json:"name"`
Group *Group `json:"group"`
Milestone *Milestone `json:"milestone"`
Labels []*GroupLabel `json:"labels"`
Lists []*BoardList `json:"lists"`
}
GroupIssueBoard represents a GitLab group issue board.
GitLab API docs: https://docs.gitlab.com/api/group_boards/
func (GroupIssueBoard) String ¶
func (b GroupIssueBoard) String() string
type GroupIssueBoardsService ¶
type GroupIssueBoardsService struct {
// contains filtered or unexported fields
}
GroupIssueBoardsService handles communication with the group issue board related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_boards/
func (*GroupIssueBoardsService) CreateGroupIssueBoard ¶
func (s *GroupIssueBoardsService) CreateGroupIssueBoard(gid any, opt *CreateGroupIssueBoardOptions, options ...RequestOptionFunc) (*GroupIssueBoard, *Response, error)
func (*GroupIssueBoardsService) CreateGroupIssueBoardList ¶
func (s *GroupIssueBoardsService) CreateGroupIssueBoardList(gid any, board int64, opt *CreateGroupIssueBoardListOptions, options ...RequestOptionFunc) (*BoardList, *Response, error)
func (*GroupIssueBoardsService) DeleteGroupIssueBoardList ¶
func (s *GroupIssueBoardsService) DeleteGroupIssueBoardList(gid any, board, list int64, options ...RequestOptionFunc) (*Response, error)
func (*GroupIssueBoardsService) DeleteIssueBoard ¶
func (s *GroupIssueBoardsService) DeleteIssueBoard(gid any, board int64, options ...RequestOptionFunc) (*Response, error)
func (*GroupIssueBoardsService) GetGroupIssueBoard ¶
func (s *GroupIssueBoardsService) GetGroupIssueBoard(gid any, board int64, options ...RequestOptionFunc) (*GroupIssueBoard, *Response, error)
func (*GroupIssueBoardsService) GetGroupIssueBoardList ¶
func (s *GroupIssueBoardsService) GetGroupIssueBoardList(gid any, board, list int64, options ...RequestOptionFunc) (*BoardList, *Response, error)
func (*GroupIssueBoardsService) ListGroupIssueBoardLists ¶
func (s *GroupIssueBoardsService) ListGroupIssueBoardLists(gid any, board int64, opt *ListGroupIssueBoardListsOptions, options ...RequestOptionFunc) ([]*BoardList, *Response, error)
func (*GroupIssueBoardsService) ListGroupIssueBoards ¶
func (s *GroupIssueBoardsService) ListGroupIssueBoards(gid any, opt *ListGroupIssueBoardsOptions, options ...RequestOptionFunc) ([]*GroupIssueBoard, *Response, error)
func (*GroupIssueBoardsService) UpdateIssueBoard ¶
func (s *GroupIssueBoardsService) UpdateIssueBoard(gid any, board int64, opt *UpdateGroupIssueBoardOptions, options ...RequestOptionFunc) (*GroupIssueBoard, *Response, error)
func (*GroupIssueBoardsService) UpdateIssueBoardList ¶
func (s *GroupIssueBoardsService) UpdateIssueBoardList(gid any, board, list int64, opt *UpdateGroupIssueBoardListOptions, options ...RequestOptionFunc) ([]*BoardList, *Response, error)
type GroupIssueBoardsServiceInterface ¶
type GroupIssueBoardsServiceInterface interface {
// ListGroupIssueBoards gets a list of all issue boards in a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_boards/#list-all-group-issue-boards-in-a-group
ListGroupIssueBoards(gid any, opt *ListGroupIssueBoardsOptions, options ...RequestOptionFunc) ([]*GroupIssueBoard, *Response, error)
// CreateGroupIssueBoard creates a new issue board.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_boards/#create-a-group-issue-board
CreateGroupIssueBoard(gid any, opt *CreateGroupIssueBoardOptions, options ...RequestOptionFunc) (*GroupIssueBoard, *Response, error)
// GetGroupIssueBoard gets a single issue board of a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_boards/#single-group-issue-board
GetGroupIssueBoard(gid any, board int64, options ...RequestOptionFunc) (*GroupIssueBoard, *Response, error)
// UpdateIssueBoard updates a single issue board of a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_boards/#update-a-group-issue-board
UpdateIssueBoard(gid any, board int64, opt *UpdateGroupIssueBoardOptions, options ...RequestOptionFunc) (*GroupIssueBoard, *Response, error)
// DeleteIssueBoard deletes a single issue board of a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_boards/#delete-a-group-issue-board
DeleteIssueBoard(gid any, board int64, options ...RequestOptionFunc) (*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/api/group_boards/#list-group-issue-board-lists
ListGroupIssueBoardLists(gid any, board int64, opt *ListGroupIssueBoardListsOptions, options ...RequestOptionFunc) ([]*BoardList, *Response, error)
// GetGroupIssueBoardList gets a single issue board list.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_boards/#single-group-issue-board-list
GetGroupIssueBoardList(gid any, board, list int64, options ...RequestOptionFunc) (*BoardList, *Response, error)
// CreateGroupIssueBoardList creates a new issue board list.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_boards/#new-group-issue-board-list
CreateGroupIssueBoardList(gid any, board int64, opt *CreateGroupIssueBoardListOptions, options ...RequestOptionFunc) (*BoardList, *Response, error)
// UpdateIssueBoardList updates the position of an existing
// group issue board list.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_boards/#edit-group-issue-board-list
UpdateIssueBoardList(gid any, board, list int64, opt *UpdateGroupIssueBoardListOptions, options ...RequestOptionFunc) ([]*BoardList, *Response, error)
DeleteGroupIssueBoardList(gid any, board, list int64, options ...RequestOptionFunc) (*Response, error)
}
type GroupIteration ¶
type GroupIteration struct {
ID int64 `json:"id"`
IID int64 `json:"iid"`
Sequence int64 `json:"sequence"`
GroupID int64 `json:"group_id"`
Title string `json:"title"`
Description string `json:"description"`
State int64 `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"`
}
GroupIteration represents a GitLab iteration.
GitLab API docs: https://docs.gitlab.com/api/group_iterations/
func (GroupIteration) String ¶
func (i GroupIteration) String() string
type GroupIterationsService ¶
type GroupIterationsService struct {
// contains filtered or unexported fields
}
GroupIterationsService handles communication with the iterations related methods of the GitLab API
GitLab API docs: https://docs.gitlab.com/api/group_iterations/
func (*GroupIterationsService) ListGroupIterations ¶
func (s *GroupIterationsService) ListGroupIterations(gid any, opt *ListGroupIterationsOptions, options ...RequestOptionFunc) ([]*GroupIteration, *Response, error)
ListGroupIterations returns a list of group iterations.
GitLab API docs: https://docs.gitlab.com/api/group_iterations/#list-group-iterations
type GroupIterationsServiceInterface ¶
type GroupIterationsServiceInterface interface {
ListGroupIterations(gid any, opt *ListGroupIterationsOptions, options ...RequestOptionFunc) ([]*GroupIteration, *Response, error)
}
type GroupLabel ¶
type GroupLabel Label
GroupLabel represents a GitLab group label.
GitLab API docs: https://docs.gitlab.com/api/group_labels/
func (GroupLabel) String ¶
func (l GroupLabel) String() string
type GroupLabelsService ¶
type GroupLabelsService struct {
// contains filtered or unexported fields
}
GroupLabelsService handles communication with the label related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_labels/
func (*GroupLabelsService) CreateGroupLabel ¶
func (s *GroupLabelsService) CreateGroupLabel(gid any, 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/api/group_labels/#create-a-new-group-label
func (*GroupLabelsService) DeleteGroupLabel ¶
func (s *GroupLabelsService) DeleteGroupLabel(gid any, lid any, opt *DeleteGroupLabelOptions, options ...RequestOptionFunc) (*Response, error)
DeleteGroupLabel deletes a group label given by its name or ID.
GitLab API docs: https://docs.gitlab.com/api/group_labels/#delete-a-group-label
func (*GroupLabelsService) GetGroupLabel ¶
func (s *GroupLabelsService) GetGroupLabel(gid any, lid any, options ...RequestOptionFunc) (*GroupLabel, *Response, error)
GetGroupLabel get a single label for a given group.
GitLab API docs: https://docs.gitlab.com/api/group_labels/#get-a-single-group-label
func (*GroupLabelsService) ListGroupLabels ¶
func (s *GroupLabelsService) ListGroupLabels(gid any, opt *ListGroupLabelsOptions, options ...RequestOptionFunc) ([]*GroupLabel, *Response, error)
ListGroupLabels gets all labels for given group.
GitLab API docs: https://docs.gitlab.com/api/group_labels/#list-group-labels
func (*GroupLabelsService) SubscribeToGroupLabel ¶
func (s *GroupLabelsService) SubscribeToGroupLabel(gid any, lid any, 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/api/group_labels/#subscribe-to-a-group-label
func (*GroupLabelsService) UnsubscribeFromGroupLabel ¶
func (s *GroupLabelsService) UnsubscribeFromGroupLabel(gid any, lid any, 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/api/group_labels/#unsubscribe-from-a-group-label
func (*GroupLabelsService) UpdateGroupLabel ¶
func (s *GroupLabelsService) UpdateGroupLabel(gid any, lid any, 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/api/group_labels/#update-a-group-label
type GroupLabelsServiceInterface ¶
type GroupLabelsServiceInterface interface {
ListGroupLabels(gid any, opt *ListGroupLabelsOptions, options ...RequestOptionFunc) ([]*GroupLabel, *Response, error)
GetGroupLabel(gid any, lid any, options ...RequestOptionFunc) (*GroupLabel, *Response, error)
CreateGroupLabel(gid any, opt *CreateGroupLabelOptions, options ...RequestOptionFunc) (*GroupLabel, *Response, error)
DeleteGroupLabel(gid any, lid any, opt *DeleteGroupLabelOptions, options ...RequestOptionFunc) (*Response, error)
UpdateGroupLabel(gid any, lid any, opt *UpdateGroupLabelOptions, options ...RequestOptionFunc) (*GroupLabel, *Response, error)
SubscribeToGroupLabel(gid any, lid any, options ...RequestOptionFunc) (*GroupLabel, *Response, error)
UnsubscribeFromGroupLabel(gid any, lid any, options ...RequestOptionFunc) (*Response, error)
}
type GroupMarkdownUpload ¶
type GroupMarkdownUpload = MarkdownUpload
Type aliases for backward compatibility
type GroupMarkdownUploadsService ¶
type GroupMarkdownUploadsService struct {
// contains filtered or unexported fields
}
GroupMarkdownUploadsService handles communication with the group markdown uploads related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_access_tokens/
func (*GroupMarkdownUploadsService) DeleteGroupMarkdownUploadByID ¶
func (s *GroupMarkdownUploadsService) DeleteGroupMarkdownUploadByID(gid any, uploadID int64, options ...RequestOptionFunc) (*Response, error)
func (*GroupMarkdownUploadsService) DeleteGroupMarkdownUploadBySecretAndFilename ¶
func (s *GroupMarkdownUploadsService) DeleteGroupMarkdownUploadBySecretAndFilename(gid any, secret string, filename string, options ...RequestOptionFunc) (*Response, error)
func (*GroupMarkdownUploadsService) DownloadGroupMarkdownUploadByID ¶
func (s *GroupMarkdownUploadsService) DownloadGroupMarkdownUploadByID(gid any, uploadID int64, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
DownloadGroupMarkdownUploadByID downloads a specific upload by ID.
The returned io.ReadCloser must be closed by the caller to avoid leaking the underlying response body.
GitLab API Docs: https://docs.gitlab.com/api/group_markdown_uploads/#download-an-uploaded-file-by-id
func (*GroupMarkdownUploadsService) DownloadGroupMarkdownUploadBySecretAndFilename ¶
func (s *GroupMarkdownUploadsService) DownloadGroupMarkdownUploadBySecretAndFilename(gid any, secret string, filename string, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
DownloadGroupMarkdownUploadBySecretAndFilename downloads a specific upload by secret and filename.
The returned io.ReadCloser must be closed by the caller to avoid leaking the underlying response body.
GitLab API Docs: https://docs.gitlab.com/api/group_markdown_uploads/#download-an-uploaded-file-by-secret-and-filename
func (*GroupMarkdownUploadsService) ListGroupMarkdownUploads ¶
func (s *GroupMarkdownUploadsService) ListGroupMarkdownUploads(gid any, opt *ListMarkdownUploadsOptions, options ...RequestOptionFunc) ([]*GroupMarkdownUpload, *Response, error)
type GroupMarkdownUploadsServiceInterface ¶
type GroupMarkdownUploadsServiceInterface interface {
// ListGroupMarkdownUploads gets all markdown uploads for a group.
//
// GitLab API Docs:
// https://docs.gitlab.com/api/group_markdown_uploads/#list-uploads
ListGroupMarkdownUploads(gid any, opt *ListMarkdownUploadsOptions, options ...RequestOptionFunc) ([]*GroupMarkdownUpload, *Response, error)
// DownloadGroupMarkdownUploadByID downloads a specific upload by ID.
//
// The returned io.ReadCloser must be closed by the caller to avoid
// leaking the underlying response body.
//
// GitLab API Docs:
// https://docs.gitlab.com/api/group_markdown_uploads/#download-an-uploaded-file-by-id
DownloadGroupMarkdownUploadByID(gid any, uploadID int64, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
// DownloadGroupMarkdownUploadBySecretAndFilename downloads a specific upload
// by secret and filename.
//
// The returned io.ReadCloser must be closed by the caller to avoid
// leaking the underlying response body.
//
// GitLab API Docs:
// https://docs.gitlab.com/api/group_markdown_uploads/#download-an-uploaded-file-by-secret-and-filename
DownloadGroupMarkdownUploadBySecretAndFilename(gid any, secret string, filename string, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
// DeleteGroupMarkdownUploadByID deletes an upload by ID.
//
// GitLab API Docs:
// https://docs.gitlab.com/api/group_markdown_uploads/#delete-an-uploaded-file-by-id
DeleteGroupMarkdownUploadByID(gid any, uploadID int64, options ...RequestOptionFunc) (*Response, error)
// DeleteGroupMarkdownUploadBySecretAndFilename deletes an upload
// by secret and filename.
//
// GitLab API Docs:
// https://docs.gitlab.com/api/group_markdown_uploads/#delete-an-uploaded-file-by-secret-and-filename
DeleteGroupMarkdownUploadBySecretAndFilename(gid any, secret string, filename string, options ...RequestOptionFunc) (*Response, error)
}
type GroupMattermostIntegration ¶
type GroupMattermostIntegration struct {
Integration
NotifyOnlyBrokenPipelines bool `json:"notify_only_broken_pipelines"`
BranchesToBeNotified string `json:"branches_to_be_notified"`
LabelsToBeNotified string `json:"labels_to_be_notified"`
LabelsToBeNotifiedBehavior string `json:"labels_to_be_notified_behavior"`
NotifyOnlyDefaultBranch bool `json:"notify_only_default_branch"`
Properties *GroupMattermostIntegrationProperties `json:"properties"`
}
GroupMattermostIntegration represents a Mattermost integration for a group.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#mattermost-notifications
type GroupMattermostIntegrationOptions ¶
type GroupMattermostIntegrationOptions 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"`
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"`
DeploymentEvents *bool `url:"deployment_events,omitempty" json:"deployment_events,omitempty"`
AlertEvents *bool `url:"alert_events,omitempty" json:"alert_events,omitempty"`
VulnerabilityEvents *bool `url:"vulnerability_events,omitempty" json:"vulnerability_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"`
ConfidentialNoteChannel *string `url:"confidential_note_channel,omitempty" json:"confidential_note_channel,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"`
DeploymentChannel *string `url:"deployment_channel,omitempty" json:"deployment_channel,omitempty"`
AlertChannel *string `url:"alert_channel,omitempty" json:"alert_channel,omitempty"`
VulnerabilityChannel *string `url:"vulnerability_channel,omitempty" json:"vulnerability_channel,omitempty"`
LabelsToBeNotified *string `url:"labels_to_be_notified,omitempty" json:"labels_to_be_notified,omitempty"`
LabelsToBeNotifiedBehavior *string `url:"labels_to_be_notified_behavior,omitempty" json:"labels_to_be_notified_behavior,omitempty"`
NotifyOnlyDefaultBranch *bool `url:"notify_only_default_branch,omitempty" json:"notify_only_default_branch,omitempty"`
UseInheritedSettings *bool `url:"use_inherited_settings,omitempty" json:"use_inherited_settings,omitempty"`
}
GroupMattermostIntegrationOptions represents the available options for creating or updating a Mattermost integration for a group.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#mattermost-notifications
type GroupMattermostIntegrationProperties ¶
type GroupMattermostIntegrationProperties struct {
WebHook string `json:"webhook"`
Username string `json:"username"`
Channel string `json:"channel"`
PushChannel string `json:"push_channel"`
IssueChannel string `json:"issue_channel"`
ConfidentialIssueChannel string `json:"confidential_issue_channel"`
MergeRequestChannel string `json:"merge_request_channel"`
NoteChannel string `json:"note_channel"`
ConfidentialNoteChannel string `json:"confidential_note_channel"`
TagPushChannel string `json:"tag_push_channel"`
PipelineChannel string `json:"pipeline_channel"`
WikiPageChannel string `json:"wiki_page_channel"`
DeploymentChannel string `json:"deployment_channel"`
AlertChannel string `json:"alert_channel"`
VulnerabilityChannel string `json:"vulnerability_channel"`
}
type GroupMattermostSlashCommandsIntegration ¶
type GroupMattermostSlashCommandsIntegration 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"`
Token string `json:"token"`
}
GroupMattermostSlashCommandsIntegration represents a Mattermost slash commands integration for a group.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#mattermost-slash-commands
type GroupMattermostSlashCommandsIntegrationOptions ¶
type GroupMattermostSlashCommandsIntegrationOptions struct {
Token *string `url:"token,omitempty" json:"token,omitempty"`
UseInheritedSettings *bool `url:"use_inherited_settings,omitempty" json:"use_inherited_settings,omitempty"`
}
GroupMattermostSlashCommandsIntegrationOptions represents the available options for creating or updating a Mattermost slash commands integration for a group.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#mattermost-slash-commands
type GroupMember ¶
type GroupMember struct {
ID int64 `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"`
CreatedBy *MemberCreatedBy `json:"created_by"`
ExpiresAt *ISOTime `json:"expires_at"`
AccessLevel AccessLevelValue `json:"access_level"`
Email string `json:"email,omitempty"`
PublicEmail string `json:"public_email,omitempty"`
GroupSAMLIdentity *GroupMemberSAMLIdentity `json:"group_saml_identity"`
MemberRole *MemberRole `json:"member_role"`
IsUsingSeat bool `json:"is_using_seat,omitempty"`
}
GroupMember represents a GitLab group member.
GitLab API docs: https://docs.gitlab.com/api/members/
type GroupMemberSAMLIdentity ¶
type GroupMemberSAMLIdentity struct {
ExternUID string `json:"extern_uid"`
Provider string `json:"provider"`
SAMLProviderID int64 `json:"saml_provider_id"`
}
GroupMemberSAMLIdentity represents the SAML Identity link for the group member.
GitLab API docs: https://docs.gitlab.com/api/members/#list-all-members-of-a-group-or-project
type GroupMembersService ¶
type GroupMembersService struct {
// contains filtered or unexported fields
}
GroupMembersService handles communication with the group members related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/members/
func (*GroupMembersService) AddGroupMember ¶
func (s *GroupMembersService) AddGroupMember(gid any, opt *AddGroupMemberOptions, options ...RequestOptionFunc) (*GroupMember, *Response, error)
func (*GroupMembersService) DeleteShareWithGroup ¶
func (s *GroupMembersService) DeleteShareWithGroup(gid any, groupID int64, options ...RequestOptionFunc) (*Response, error)
func (*GroupMembersService) EditGroupMember ¶
func (s *GroupMembersService) EditGroupMember(gid any, user int64, opt *EditGroupMemberOptions, options ...RequestOptionFunc) (*GroupMember, *Response, error)
func (*GroupMembersService) GetGroupMember ¶
func (s *GroupMembersService) GetGroupMember(gid any, user int64, options ...RequestOptionFunc) (*GroupMember, *Response, error)
func (*GroupMembersService) GetInheritedGroupMember ¶
func (s *GroupMembersService) GetInheritedGroupMember(gid any, user int64, options ...RequestOptionFunc) (*GroupMember, *Response, error)
func (*GroupMembersService) RemoveGroupMember ¶
func (s *GroupMembersService) RemoveGroupMember(gid any, user int64, opt *RemoveGroupMemberOptions, options ...RequestOptionFunc) (*Response, error)
func (*GroupMembersService) ShareWithGroup ¶
func (s *GroupMembersService) ShareWithGroup(gid any, opt *ShareWithGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
type GroupMembersServiceInterface ¶
type GroupMembersServiceInterface interface {
// GetGroupMember gets a member of a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/members/#get-a-member-of-a-group-or-project
GetGroupMember(gid any, user int64, options ...RequestOptionFunc) (*GroupMember, *Response, error)
// GetInheritedGroupMember gets a member of a group or project, including
// inherited and invited members
//
// GitLab API docs:
// https://docs.gitlab.com/api/members/#get-a-member-of-a-group-or-project-including-inherited-and-invited-members
GetInheritedGroupMember(gid any, user int64, options ...RequestOptionFunc) (*GroupMember, *Response, error)
// AddGroupMember adds a user to the list of group members.
//
// GitLab API docs:
// https://docs.gitlab.com/api/members/#add-a-member-to-a-group-or-project
AddGroupMember(gid any, opt *AddGroupMemberOptions, options ...RequestOptionFunc) (*GroupMember, *Response, error)
//
// GitLab API docs:
// https://docs.gitlab.com/api/groups/#create-a-link-to-share-a-group-with-another-group
ShareWithGroup(gid any, opt *ShareWithGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
//
// GitLab API docs:
// https://docs.gitlab.com/api/groups/#delete-the-link-that-shares-a-group-with-another-group
DeleteShareWithGroup(gid any, groupID int64, options ...RequestOptionFunc) (*Response, error)
// EditGroupMember updates a member of a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/members/#edit-a-member-of-a-group-or-project
EditGroupMember(gid any, user int64, opt *EditGroupMemberOptions, options ...RequestOptionFunc) (*GroupMember, *Response, error)
// RemoveGroupMember removes user from user team.
//
// GitLab API docs:
// https://docs.gitlab.com/api/members/#remove-a-member-from-a-group-or-project
RemoveGroupMember(gid any, user int64, opt *RemoveGroupMemberOptions, options ...RequestOptionFunc) (*Response, error)
}
type GroupMilestone ¶
type GroupMilestone struct {
ID int64 `json:"id"`
IID int64 `json:"iid"`
GroupID int64 `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"`
}
GroupMilestone represents a GitLab milestone.
GitLab API docs: https://docs.gitlab.com/api/group_milestones/
func (GroupMilestone) String ¶
func (m GroupMilestone) String() string
type GroupMilestonesService ¶
type GroupMilestonesService struct {
// contains filtered or unexported fields
}
GroupMilestonesService handles communication with the milestone related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_milestones/
func (*GroupMilestonesService) CreateGroupMilestone ¶
func (s *GroupMilestonesService) CreateGroupMilestone(gid any, opt *CreateGroupMilestoneOptions, options ...RequestOptionFunc) (*GroupMilestone, *Response, error)
CreateGroupMilestone creates a new group milestone.
GitLab API docs: https://docs.gitlab.com/api/group_milestones/#create-new-milestone
func (*GroupMilestonesService) DeleteGroupMilestone ¶
func (s *GroupMilestonesService) DeleteGroupMilestone(pid any, milestone int64, options ...RequestOptionFunc) (*Response, error)
DeleteGroupMilestone deletes a specified group milestone.
GitLab API docs: https://docs.gitlab.com/api/group_milestones/#delete-group-milestone
func (*GroupMilestonesService) GetGroupMilestone ¶
func (s *GroupMilestonesService) GetGroupMilestone(gid any, milestone int64, options ...RequestOptionFunc) (*GroupMilestone, *Response, error)
GetGroupMilestone gets a single group milestone.
GitLab API docs: https://docs.gitlab.com/api/group_milestones/#get-single-milestone
func (*GroupMilestonesService) GetGroupMilestoneBurndownChartEvents ¶
func (s *GroupMilestonesService) GetGroupMilestoneBurndownChartEvents(gid any, milestone int64, 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/api/group_milestones/#get-all-burndown-chart-events-for-a-single-milestone
func (*GroupMilestonesService) GetGroupMilestoneIssues ¶
func (s *GroupMilestonesService) GetGroupMilestoneIssues(gid any, milestone int64, opt *GetGroupMilestoneIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
GetGroupMilestoneIssues gets all issues assigned to a single group milestone.
GitLab API docs: https://docs.gitlab.com/api/group_milestones/#get-all-issues-assigned-to-a-single-milestone
func (*GroupMilestonesService) GetGroupMilestoneMergeRequests ¶
func (s *GroupMilestonesService) GetGroupMilestoneMergeRequests(gid any, milestone int64, opt *GetGroupMilestoneMergeRequestsOptions, options ...RequestOptionFunc) ([]*BasicMergeRequest, *Response, error)
GetGroupMilestoneMergeRequests gets all merge requests assigned to a single group milestone.
GitLab API docs: https://docs.gitlab.com/api/group_milestones/#get-all-merge-requests-assigned-to-a-single-milestone
func (*GroupMilestonesService) ListGroupMilestones ¶
func (s *GroupMilestonesService) ListGroupMilestones(gid any, opt *ListGroupMilestonesOptions, options ...RequestOptionFunc) ([]*GroupMilestone, *Response, error)
ListGroupMilestones returns a list of group milestones.
GitLab API docs: https://docs.gitlab.com/api/group_milestones/#list-group-milestones
func (*GroupMilestonesService) UpdateGroupMilestone ¶
func (s *GroupMilestonesService) UpdateGroupMilestone(gid any, milestone int64, opt *UpdateGroupMilestoneOptions, options ...RequestOptionFunc) (*GroupMilestone, *Response, error)
UpdateGroupMilestone updates an existing group milestone.
GitLab API docs: https://docs.gitlab.com/api/group_milestones/#edit-milestone
type GroupMilestonesServiceInterface ¶
type GroupMilestonesServiceInterface interface {
ListGroupMilestones(gid any, opt *ListGroupMilestonesOptions, options ...RequestOptionFunc) ([]*GroupMilestone, *Response, error)
GetGroupMilestone(gid any, milestone int64, options ...RequestOptionFunc) (*GroupMilestone, *Response, error)
CreateGroupMilestone(gid any, opt *CreateGroupMilestoneOptions, options ...RequestOptionFunc) (*GroupMilestone, *Response, error)
UpdateGroupMilestone(gid any, milestone int64, opt *UpdateGroupMilestoneOptions, options ...RequestOptionFunc) (*GroupMilestone, *Response, error)
DeleteGroupMilestone(pid any, milestone int64, options ...RequestOptionFunc) (*Response, error)
GetGroupMilestoneIssues(gid any, milestone int64, opt *GetGroupMilestoneIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
GetGroupMilestoneMergeRequests(gid any, milestone int64, opt *GetGroupMilestoneMergeRequestsOptions, options ...RequestOptionFunc) ([]*BasicMergeRequest, *Response, error)
GetGroupMilestoneBurndownChartEvents(gid any, milestone int64, opt *GetGroupMilestoneBurndownChartEventsOptions, options ...RequestOptionFunc) ([]*BurndownChartEvent, *Response, error)
}
type GroupPackage ¶
type GroupPackage struct {
Package
ProjectID int64 `json:"project_id"`
ProjectPath string `json:"project_path"`
}
GroupPackage represents a GitLab group package.
GitLab API docs: https://docs.gitlab.com/api/packages/
func (GroupPackage) String ¶
func (s GroupPackage) String() string
type GroupPersonalAccessToken ¶
type GroupPersonalAccessToken struct {
ID int64 `json:"id"`
Name string `json:"name"`
Revoked bool `json:"revoked"`
CreatedAt *time.Time `json:"created_at"`
Description string `json:"description"`
Scopes []string `json:"scopes"`
UserID int64 `json:"user_id"`
LastUsedAt *time.Time `json:"last_used_at,omitempty"`
Active bool `json:"active"`
ExpiresAt *ISOTime `json:"expires_at"`
}
GroupPersonalAccessToken represents a group enterprise users personal access token.
GitLab API docs: https://docs.gitlab.com/api/groups/#list-all-personal-access-tokens-for-a-group
type GroupProtectedBranch ¶
type GroupProtectedBranch struct {
ID int64 `json:"id"`
Name string `json:"name"`
PushAccessLevels []*GroupBranchAccessDescription `json:"push_access_levels"`
MergeAccessLevels []*GroupBranchAccessDescription `json:"merge_access_levels"`
UnprotectAccessLevels []*GroupBranchAccessDescription `json:"unprotect_access_levels"`
AllowForcePush bool `json:"allow_force_push"`
CodeOwnerApprovalRequired bool `json:"code_owner_approval_required"`
}
GroupProtectedBranch represents a group protected branch.
GitLab API docs: https://docs.gitlab.com/api/group_protected_branches/#list-protected-branches
type GroupProtectedBranchesService ¶
type GroupProtectedBranchesService struct {
// contains filtered or unexported fields
}
GroupProtectedBranchesService handles communication with the group-level protected branch methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_protected_branches/
func (*GroupProtectedBranchesService) GetProtectedBranch ¶
func (s *GroupProtectedBranchesService) GetProtectedBranch(gid any, branch string, options ...RequestOptionFunc) (*GroupProtectedBranch, *Response, error)
func (*GroupProtectedBranchesService) ListProtectedBranches ¶
func (s *GroupProtectedBranchesService) ListProtectedBranches(gid any, opt *ListGroupProtectedBranchesOptions, options ...RequestOptionFunc) ([]*GroupProtectedBranch, *Response, error)
func (*GroupProtectedBranchesService) ProtectRepositoryBranches ¶
func (s *GroupProtectedBranchesService) ProtectRepositoryBranches(gid any, opt *ProtectGroupRepositoryBranchesOptions, options ...RequestOptionFunc) (*GroupProtectedBranch, *Response, error)
func (*GroupProtectedBranchesService) UnprotectRepositoryBranches ¶
func (s *GroupProtectedBranchesService) UnprotectRepositoryBranches(gid any, branch string, options ...RequestOptionFunc) (*Response, error)
func (*GroupProtectedBranchesService) UpdateProtectedBranch ¶
func (s *GroupProtectedBranchesService) UpdateProtectedBranch(gid any, branch string, opt *UpdateGroupProtectedBranchOptions, options ...RequestOptionFunc) (*GroupProtectedBranch, *Response, error)
type GroupProtectedBranchesServiceInterface ¶
type GroupProtectedBranchesServiceInterface interface {
// ListProtectedBranches returns a list of protected branches from a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_protected_branches/#list-protected-branches
ListProtectedBranches(gid any, opt *ListGroupProtectedBranchesOptions, options ...RequestOptionFunc) ([]*GroupProtectedBranch, *Response, error)
// GetProtectedBranch returns a single group-level protected branch.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_protected_branches/#get-a-single-protected-branch-or-wildcard-protected-branch
GetProtectedBranch(gid any, branch string, options ...RequestOptionFunc) (*GroupProtectedBranch, *Response, error)
// ProtectRepositoryBranches protects a single group-level branch.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_protected_branches/#protect-repository-branches
ProtectRepositoryBranches(gid any, opt *ProtectGroupRepositoryBranchesOptions, options ...RequestOptionFunc) (*GroupProtectedBranch, *Response, error)
// UpdateProtectedBranch updates a single group-level protected branch.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_protected_branches/#update-a-protected-branch
UpdateProtectedBranch(gid any, branch string, opt *UpdateGroupProtectedBranchOptions, options ...RequestOptionFunc) (*GroupProtectedBranch, *Response, error)
// UnprotectRepositoryBranches unprotects the given protected group-level branch.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_protected_branches/#unprotect-repository-branches
UnprotectRepositoryBranches(gid any, branch string, options ...RequestOptionFunc) (*Response, error)
}
type GroupProtectedEnvironment ¶
type GroupProtectedEnvironment struct {
Name string `json:"name"`
DeployAccessLevels []*GroupEnvironmentAccessDescription `json:"deploy_access_levels"`
RequiredApprovalCount int64 `json:"required_approval_count"`
ApprovalRules []*GroupEnvironmentApprovalRule `json:"approval_rules"`
}
GroupProtectedEnvironment represents a group-level protected environment.
GitLab API docs: https://docs.gitlab.com/api/group_protected_environments/
type GroupProtectedEnvironmentsService ¶
type GroupProtectedEnvironmentsService struct {
// contains filtered or unexported fields
}
GroupProtectedEnvironmentsService handles communication with the group-level protected environment methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_protected_environments/
func (*GroupProtectedEnvironmentsService) GetGroupProtectedEnvironment ¶
func (s *GroupProtectedEnvironmentsService) GetGroupProtectedEnvironment(gid any, environment string, options ...RequestOptionFunc) (*GroupProtectedEnvironment, *Response, error)
GetGroupProtectedEnvironment returns a single group-level protected environment.
GitLab API docs: https://docs.gitlab.com/api/group_protected_environments/#get-a-single-protected-environment
func (*GroupProtectedEnvironmentsService) ListGroupProtectedEnvironments ¶
func (s *GroupProtectedEnvironmentsService) ListGroupProtectedEnvironments(gid any, opt *ListGroupProtectedEnvironmentsOptions, options ...RequestOptionFunc) ([]*GroupProtectedEnvironment, *Response, error)
ListGroupProtectedEnvironments returns a list of protected environments from a group.
GitLab API docs: https://docs.gitlab.com/api/group_protected_environments/#list-group-level-protected-environments
func (*GroupProtectedEnvironmentsService) ProtectGroupEnvironment ¶
func (s *GroupProtectedEnvironmentsService) ProtectGroupEnvironment(gid any, opt *ProtectGroupEnvironmentOptions, options ...RequestOptionFunc) (*GroupProtectedEnvironment, *Response, error)
ProtectGroupEnvironment protects a single group-level environment.
GitLab API docs: https://docs.gitlab.com/api/group_protected_environments/#protect-a-single-environment
func (*GroupProtectedEnvironmentsService) UnprotectGroupEnvironment ¶
func (s *GroupProtectedEnvironmentsService) UnprotectGroupEnvironment(gid any, environment string, options ...RequestOptionFunc) (*Response, error)
UnprotectGroupEnvironment unprotects the given protected group-level environment.
GitLab API docs: https://docs.gitlab.com/api/group_protected_environments/#unprotect-a-single-environment
func (*GroupProtectedEnvironmentsService) UpdateGroupProtectedEnvironment ¶
func (s *GroupProtectedEnvironmentsService) UpdateGroupProtectedEnvironment(gid any, environment string, opt *UpdateGroupProtectedEnvironmentOptions, options ...RequestOptionFunc) (*GroupProtectedEnvironment, *Response, error)
UpdateGroupProtectedEnvironment updates a single group-level protected environment.
GitLab API docs: https://docs.gitlab.com/api/group_protected_environments/#update-a-protected-environment
type GroupProtectedEnvironmentsServiceInterface ¶
type GroupProtectedEnvironmentsServiceInterface interface {
ListGroupProtectedEnvironments(gid any, opt *ListGroupProtectedEnvironmentsOptions, options ...RequestOptionFunc) ([]*GroupProtectedEnvironment, *Response, error)
GetGroupProtectedEnvironment(gid any, environment string, options ...RequestOptionFunc) (*GroupProtectedEnvironment, *Response, error)
ProtectGroupEnvironment(gid any, opt *ProtectGroupEnvironmentOptions, options ...RequestOptionFunc) (*GroupProtectedEnvironment, *Response, error)
UpdateGroupProtectedEnvironment(gid any, environment string, opt *UpdateGroupProtectedEnvironmentOptions, options ...RequestOptionFunc) (*GroupProtectedEnvironment, *Response, error)
UnprotectGroupEnvironment(gid any, environment string, options ...RequestOptionFunc) (*Response, error)
}
type GroupPushRules ¶
type GroupPushRules struct {
ID int64 `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 int64 `json:"max_file_size"`
CommitCommitterCheck bool `json:"commit_committer_check"`
CommitCommitterNameCheck bool `json:"commit_committer_name_check"`
RejectUnsignedCommits bool `json:"reject_unsigned_commits"`
RejectNonDCOCommits bool `json:"reject_non_dco_commits"`
}
GroupPushRules represents a group push rule.
GitLab API docs: https://docs.gitlab.com/api/group_push_rules/#get-the-push-rules-of-a-group
type GroupRelationStatus ¶
type GroupRelationsDownloadOptions ¶
type GroupRelationsDownloadOptions struct {
Relation *string `url:"relation,omitempty" json:"relation,omitempty"`
Batched *bool `url:"batched,omitempty" json:"batched,omitempty"`
BatchNumber *int64 `url:"batch_number,omitempty" json:"batch_number,omitempty"`
}
GroupRelationsDownloadOptions represents the available ExportDownload() options.
GitLab API docs: https://docs.gitlab.com/api/group_relations_export/#download-exported-relations
type GroupRelationsExportService ¶
type GroupRelationsExportService struct {
// contains filtered or unexported fields
}
GroupRelationsExportService handles communication with the group relations export related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_relations_export
func (*GroupRelationsExportService) ExportDownload ¶
func (s *GroupRelationsExportService) ExportDownload(gid any, opt *GroupRelationsDownloadOptions, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
func (*GroupRelationsExportService) ListExportStatus ¶
func (s *GroupRelationsExportService) ListExportStatus(gid any, opt *ListGroupRelationsStatusOptions, options ...RequestOptionFunc) ([]*GroupRelationStatus, *Response, error)
func (*GroupRelationsExportService) ScheduleExport ¶
func (s *GroupRelationsExportService) ScheduleExport(gid any, opt *GroupRelationsScheduleExportOptions, options ...RequestOptionFunc) (*Response, error)
type GroupRelationsExportServiceInterface ¶
type GroupRelationsExportServiceInterface interface {
// ScheduleExport schedules a new export of group relations.
//
// GitLab API docs: https://docs.gitlab.com/api/group_relations_export/#schedule-new-export
ScheduleExport(gid any, opt *GroupRelationsScheduleExportOptions, options ...RequestOptionFunc) (*Response, error)
// ListExportStatus gets the status of group relations export.
//
// GitLab API docs: https://docs.gitlab.com/api/group_relations_export/#export-status
ListExportStatus(gid any, opt *ListGroupRelationsStatusOptions, options ...RequestOptionFunc) ([]*GroupRelationStatus, *Response, error)
// ExportDownload downloads the exported group relations.
//
// GitLab API docs: https://docs.gitlab.com/api/group_relations_export/#download-exported-relations
ExportDownload(gid any, opt *GroupRelationsDownloadOptions, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
}
type GroupRelationsScheduleExportOptions ¶
type GroupRelationsScheduleExportOptions struct {
Batched *bool `url:"batched,omitempty" json:"batched,omitempty"`
}
GroupRelationsScheduleExportOptions represents the available ScheduleExport() options.
GitLab API docs: https://docs.gitlab.com/api/group_relations_export/#schedule-new-export
type GroupReleasesService ¶
type GroupReleasesService struct {
// contains filtered or unexported fields
}
GroupReleasesService handles communication with the group releases related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_releases.html
func (*GroupReleasesService) ListGroupReleases ¶
func (s *GroupReleasesService) ListGroupReleases(gid any, opts *ListGroupReleasesOptions, options ...RequestOptionFunc) ([]*Release, *Response, error)
ListGroupReleases gets a list of releases for a group.
GitLab API docs: https://docs.gitlab.com/api/group_releases.html#list-group-releases
type GroupReleasesServiceInterface ¶
type GroupReleasesServiceInterface interface {
ListGroupReleases(gid any, opts *ListGroupReleasesOptions, options ...RequestOptionFunc) ([]*Release, *Response, error)
}
type GroupRepositoryStorageMove ¶
type GroupRepositoryStorageMove struct {
ID int64 `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"`
}
GroupRepositoryStorageMove represents the status of a repository move.
GitLab API docs: https://docs.gitlab.com/api/group_repository_storage_moves/
type GroupRepositoryStorageMoveService ¶
type GroupRepositoryStorageMoveService struct {
// contains filtered or unexported fields
}
GroupRepositoryStorageMoveService handles communication with the group repositories related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_repository_storage_moves/
func (GroupRepositoryStorageMoveService) GetStorageMove ¶
func (g GroupRepositoryStorageMoveService) GetStorageMove(repositoryStorage int64, options ...RequestOptionFunc) (*GroupRepositoryStorageMove, *Response, error)
GetStorageMove gets a single group repository storage move.
GitLab API docs: https://docs.gitlab.com/api/group_repository_storage_moves/#get-a-single-group-repository-storage-move
func (GroupRepositoryStorageMoveService) GetStorageMoveForGroup ¶
func (g GroupRepositoryStorageMoveService) GetStorageMoveForGroup(group int64, repositoryStorage int64, options ...RequestOptionFunc) (*GroupRepositoryStorageMove, *Response, error)
GetStorageMoveForGroup gets a single repository storage move for a group.
GitLab API docs: https://docs.gitlab.com/api/group_repository_storage_moves/#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/api/group_repository_storage_moves/#retrieve-all-group-repository-storage-moves
func (GroupRepositoryStorageMoveService) RetrieveAllStorageMovesForGroup ¶
func (g GroupRepositoryStorageMoveService) RetrieveAllStorageMovesForGroup(group int64, 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/api/group_repository_storage_moves/#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/api/group_repository_storage_moves/#schedule-repository-storage-moves-for-all-groups-on-a-storage-shard
func (GroupRepositoryStorageMoveService) ScheduleStorageMoveForGroup ¶
func (g GroupRepositoryStorageMoveService) ScheduleStorageMoveForGroup(group int64, opts ScheduleStorageMoveForGroupOptions, options ...RequestOptionFunc) (*GroupRepositoryStorageMove, *Response, error)
ScheduleStorageMoveForGroup schedule a repository to be moved for a group.
GitLab API docs: https://docs.gitlab.com/api/group_repository_storage_moves/#schedule-a-repository-storage-move-for-a-group
type GroupRepositoryStorageMoveServiceInterface ¶
type GroupRepositoryStorageMoveServiceInterface interface {
RetrieveAllStorageMoves(opts RetrieveAllGroupStorageMovesOptions, options ...RequestOptionFunc) ([]*GroupRepositoryStorageMove, *Response, error)
RetrieveAllStorageMovesForGroup(group int64, opts RetrieveAllGroupStorageMovesOptions, options ...RequestOptionFunc) ([]*GroupRepositoryStorageMove, *Response, error)
GetStorageMove(repositoryStorage int64, options ...RequestOptionFunc) (*GroupRepositoryStorageMove, *Response, error)
GetStorageMoveForGroup(group int64, repositoryStorage int64, options ...RequestOptionFunc) (*GroupRepositoryStorageMove, *Response, error)
ScheduleStorageMoveForGroup(group int64, opts ScheduleStorageMoveForGroupOptions, options ...RequestOptionFunc) (*GroupRepositoryStorageMove, *Response, error)
ScheduleAllStorageMoves(opts ScheduleAllGroupStorageMovesOptions, options ...RequestOptionFunc) (*Response, error)
}
type GroupResourceAccessTokenEvent ¶
type GroupResourceAccessTokenEvent struct {
EventName string `json:"event_name"`
ObjectKind string `json:"object_kind"`
Group GroupResourceAccessTokenEventGroup `json:"group"`
ObjectAttributes GroupResourceAccessTokenEventObjectAttributes `json:"object_attributes"`
}
GroupResourceAccessTokenEvent represents a resource access token event for a group.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#project-and-group-access-token-events
type GroupResourceAccessTokenEventGroup ¶
type GroupResourceAccessTokenEventGroup struct {
GroupID int64 `json:"group_id"`
GroupName string `json:"group_name"`
GroupPath string `json:"group_path"`
FullPath string `json:"full_path"`
}
GroupResourceAccessTokenEventGroup represents a group in a resource access token event.
type GroupSCIMIdentity ¶
type GroupSCIMIdentity struct {
ExternalUID string `json:"external_uid"`
UserID int64 `json:"user_id"`
Active bool `json:"active"`
}
GroupSCIMIdentity represents a GitLab Group SCIM identity.
GitLab API docs: https://docs.gitlab.com/api/scim/
type GroupSCIMService ¶
type GroupSCIMService struct {
// contains filtered or unexported fields
}
GroupSCIMService handles communication with the Group SCIM related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/scim/
func (*GroupSCIMService) DeleteSCIMIdentity ¶
func (s *GroupSCIMService) DeleteSCIMIdentity(gid any, uid string, options ...RequestOptionFunc) (*Response, error)
DeleteSCIMIdentity deletes a SCIM identity.
GitLab API docs: https://docs.gitlab.com/api/scim/#delete-a-single-scim-identity
func (*GroupSCIMService) GetSCIMIdentitiesForGroup ¶
func (s *GroupSCIMService) GetSCIMIdentitiesForGroup(gid any, options ...RequestOptionFunc) ([]*GroupSCIMIdentity, *Response, error)
GetSCIMIdentitiesForGroup gets all SCIM identities for a group.
GitLab API docs: https://docs.gitlab.com/api/scim/#get-scim-identities-for-a-group
func (*GroupSCIMService) GetSCIMIdentity ¶
func (s *GroupSCIMService) GetSCIMIdentity(gid any, uid string, options ...RequestOptionFunc) (*GroupSCIMIdentity, *Response, error)
GetSCIMIdentity gets a SCIM identity for a group.
GitLab API docs: https://docs.gitlab.com/api/scim/#get-a-single-scim-identity
func (*GroupSCIMService) UpdateSCIMIdentity ¶
func (s *GroupSCIMService) UpdateSCIMIdentity(gid any, uid string, opt *UpdateSCIMIdentityOptions, options ...RequestOptionFunc) (*Response, error)
UpdateSCIMIdentity updates a SCIM identity.
GitLab API docs: https://docs.gitlab.com/api/scim/#update-extern_uid-field-for-a-scim-identity
type GroupSCIMServiceInterface ¶
type GroupSCIMServiceInterface interface {
GetSCIMIdentitiesForGroup(gid any, options ...RequestOptionFunc) ([]*GroupSCIMIdentity, *Response, error)
GetSCIMIdentity(gid any, uid string, options ...RequestOptionFunc) (*GroupSCIMIdentity, *Response, error)
UpdateSCIMIdentity(gid any, uid string, opt *UpdateSCIMIdentityOptions, options ...RequestOptionFunc) (*Response, error)
DeleteSCIMIdentity(gid any, uid string, options ...RequestOptionFunc) (*Response, error)
}
type GroupSSHCertificate ¶
type GroupSSHCertificate struct {
ID int64 `json:"id"`
Title string `json:"title"`
Key string `json:"key"`
CreatedAt *time.Time `json:"created_at"`
}
GroupSSHCertificate represents a GitLab Group SSH certificate.
GitLab API docs: https://docs.gitlab.com/api/group_ssh_certificates/
type GroupSSHCertificatesService ¶
type GroupSSHCertificatesService struct {
// contains filtered or unexported fields
}
GroupSSHCertificatesService handles communication with the group SSH certificate related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_ssh_certificates/
func (*GroupSSHCertificatesService) CreateGroupSSHCertificate ¶
func (s *GroupSSHCertificatesService) CreateGroupSSHCertificate(gid any, opt *CreateGroupSSHCertificateOptions, options ...RequestOptionFunc) (*GroupSSHCertificate, *Response, error)
CreateGroupSSHCertificate creates a new SSH certificate in the group.
GitLab API docs: https://docs.gitlab.com/api/group_ssh_certificates/#create-ssh-certificate
func (*GroupSSHCertificatesService) DeleteGroupSSHCertificate ¶
func (s *GroupSSHCertificatesService) DeleteGroupSSHCertificate(gid any, cert int64, options ...RequestOptionFunc) (*Response, error)
DeleteGroupSSHCertificate deletes a SSH certificate from a specified group.
GitLab API docs: https://docs.gitlab.com/api/group_ssh_certificates/#delete-group-ssh-certificate
func (*GroupSSHCertificatesService) ListGroupSSHCertificates ¶
func (s *GroupSSHCertificatesService) ListGroupSSHCertificates(gid any, options ...RequestOptionFunc) ([]*GroupSSHCertificate, *Response, error)
ListGroupSSHCertificates gets a list of SSH certificates for a specified group.
GitLab API docs: https://docs.gitlab.com/api/group_ssh_certificates/#get-all-ssh-certificates-for-a-particular-group
type GroupSSHCertificatesServiceInterface ¶
type GroupSSHCertificatesServiceInterface interface {
ListGroupSSHCertificates(gid any, options ...RequestOptionFunc) ([]*GroupSSHCertificate, *Response, error)
CreateGroupSSHCertificate(gid any, opt *CreateGroupSSHCertificateOptions, options ...RequestOptionFunc) (*GroupSSHCertificate, *Response, error)
DeleteGroupSSHCertificate(gid any, cert int64, options ...RequestOptionFunc) (*Response, error)
}
GroupSSHCertificatesServiceInterface defines methods for the GroupSSHCertificatesService.
type GroupSSHKey ¶
type GroupSSHKey struct {
ID int64 `json:"id"`
Title string `json:"title"`
CreatedAt *time.Time `json:"created_at"`
ExpiresAt *time.Time `json:"expires_at"`
LastUsedAt *time.Time `json:"last_used_at"`
UsageType string `json:"usage_type"`
UserID int64 `json:"user_id"`
}
GroupSSHKey represents a group enterprise users public SSH key.
GitLab API docs: https://docs.gitlab.com/api/groups/#list-all-ssh-keys-for-a-group
type GroupSecuritySettings ¶
type GroupSecuritySettings struct {
SecretPushProtectionEnabled bool `json:"secret_push_protection_enabled"`
Errors []string `json:"errors"`
}
GroupSecuritySettings represents the group security settings data.
GitLab API docs: https://docs.gitlab.com/api/group_security_settings/
func (GroupSecuritySettings) String ¶
func (s GroupSecuritySettings) String() string
String gets a string representation of the GroupSecuritySettings data.
GitLab API docs: https://docs.gitlab.com/api/group_security_settings/
type GroupSecuritySettingsService ¶
type GroupSecuritySettingsService struct {
// contains filtered or unexported fields
}
GroupSecuritySettingsService handles communication with the Group Security Settings related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_security_settings/
func (*GroupSecuritySettingsService) UpdateSecretPushProtectionEnabledSetting ¶
func (s *GroupSecuritySettingsService) UpdateSecretPushProtectionEnabledSetting(gid any, opt UpdateGroupSecuritySettingsOptions, options ...RequestOptionFunc) (*GroupSecuritySettings, *Response, error)
UpdateSecretPushProtectionEnabledSetting updates the secret_push_protection_enabled setting for the all projects in a group to the provided value.
GitLab API Docs: https://docs.gitlab.com/api/group_security_settings/#update-secret_push_protection_enabled-setting
type GroupSecuritySettingsServiceInterface ¶
type GroupSecuritySettingsServiceInterface interface {
UpdateSecretPushProtectionEnabledSetting(gid any, opt UpdateGroupSecuritySettingsOptions, options ...RequestOptionFunc) (*GroupSecuritySettings, *Response, error)
}
type GroupServiceAccount ¶
type GroupServiceAccount struct {
ID int64 `json:"id"`
Name string `json:"name"`
UserName string `json:"username"`
Email string `json:"email"`
}
GroupServiceAccount represents a GitLab service account user.
GitLab API docs: https://docs.gitlab.com/api/service_accounts/#create-a-group-service-account
type GroupSystemEvent ¶
type GroupSystemEvent struct {
BaseSystemEvent
Name string `json:"name"`
Path string `json:"path"`
PathWithNamespace string `json:"full_path"`
GroupID int64 `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"`
}
GroupSystemEvent represents a group system event.
GitLab API docs: https://docs.gitlab.com/administration/system_hooks/
type GroupVariable ¶
type GroupVariable struct {
Key string `json:"key"`
Value string `json:"value"`
VariableType VariableTypeValue `json:"variable_type"`
Protected bool `json:"protected"`
Masked bool `json:"masked"`
Hidden bool `json:"hidden"`
Raw bool `json:"raw"`
EnvironmentScope string `json:"environment_scope"`
Description string `json:"description"`
}
GroupVariable represents a GitLab group Variable.
GitLab API docs: https://docs.gitlab.com/api/group_level_variables/
func (GroupVariable) String ¶
func (v GroupVariable) String() string
type GroupVariablesService ¶
type GroupVariablesService struct {
// contains filtered or unexported fields
}
GroupVariablesService handles communication with the group variables related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_level_variables/
func (*GroupVariablesService) CreateVariable ¶
func (s *GroupVariablesService) CreateVariable(gid any, opt *CreateGroupVariableOptions, options ...RequestOptionFunc) (*GroupVariable, *Response, error)
func (*GroupVariablesService) GetVariable ¶
func (s *GroupVariablesService) GetVariable(gid any, key string, opt *GetGroupVariableOptions, options ...RequestOptionFunc) (*GroupVariable, *Response, error)
func (*GroupVariablesService) ListVariables ¶
func (s *GroupVariablesService) ListVariables(gid any, opt *ListGroupVariablesOptions, options ...RequestOptionFunc) ([]*GroupVariable, *Response, error)
func (*GroupVariablesService) RemoveVariable ¶
func (s *GroupVariablesService) RemoveVariable(gid any, key string, opt *RemoveGroupVariableOptions, options ...RequestOptionFunc) (*Response, error)
func (*GroupVariablesService) UpdateVariable ¶
func (s *GroupVariablesService) UpdateVariable(gid any, key string, opt *UpdateGroupVariableOptions, options ...RequestOptionFunc) (*GroupVariable, *Response, error)
type GroupVariablesServiceInterface ¶
type GroupVariablesServiceInterface interface {
// ListVariables gets a list of all variables for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_level_variables/#list-group-variables
ListVariables(gid any, opt *ListGroupVariablesOptions, options ...RequestOptionFunc) ([]*GroupVariable, *Response, error)
// GetVariable gets a variable.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_level_variables/#show-variable-details
GetVariable(gid any, key string, opt *GetGroupVariableOptions, options ...RequestOptionFunc) (*GroupVariable, *Response, error)
// CreateVariable creates a new group variable.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_level_variables/#create-variable
CreateVariable(gid any, opt *CreateGroupVariableOptions, options ...RequestOptionFunc) (*GroupVariable, *Response, error)
// UpdateVariable updates an existing group variable.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_level_variables/#update-variable
UpdateVariable(gid any, key string, opt *UpdateGroupVariableOptions, options ...RequestOptionFunc) (*GroupVariable, *Response, error)
// RemoveVariable removes a group's variable.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_level_variables/#remove-variable
RemoveVariable(gid any, key string, opt *RemoveGroupVariableOptions, options ...RequestOptionFunc) (*Response, error)
}
GroupVariablesServiceInterface defines methods for the GroupVariablesService.
type GroupWiki ¶
type GroupWiki struct {
Content string `json:"content"`
Encoding string `json:"encoding"`
Format WikiFormatValue `json:"format"`
Slug string `json:"slug"`
Title string `json:"title"`
}
GroupWiki represents a GitLab groups wiki.
GitLab API docs: https://docs.gitlab.com/api/group_wikis/
type GroupWikisService ¶
type GroupWikisService struct {
// contains filtered or unexported fields
}
GroupWikisService handles communication with the group wikis related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_wikis/
func (*GroupWikisService) CreateGroupWikiPage ¶
func (s *GroupWikisService) CreateGroupWikiPage(gid any, 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/api/group_wikis/#create-a-new-wiki-page
func (*GroupWikisService) DeleteGroupWikiPage ¶
func (s *GroupWikisService) DeleteGroupWikiPage(gid any, slug string, options ...RequestOptionFunc) (*Response, error)
DeleteGroupWikiPage deletes a wiki page with a given slug.
GitLab API docs: https://docs.gitlab.com/api/group_wikis/#delete-a-wiki-page
func (*GroupWikisService) EditGroupWikiPage ¶
func (s *GroupWikisService) EditGroupWikiPage(gid any, 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/api/group_wikis/#edit-an-existing-wiki-page
func (*GroupWikisService) GetGroupWikiPage ¶
func (s *GroupWikisService) GetGroupWikiPage(gid any, 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/api/group_wikis/#get-a-wiki-page
func (*GroupWikisService) ListGroupWikis ¶
func (s *GroupWikisService) ListGroupWikis(gid any, 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/api/group_wikis/#list-wiki-pages
type GroupWikisServiceInterface ¶
type GroupWikisServiceInterface interface {
ListGroupWikis(gid any, opt *ListGroupWikisOptions, options ...RequestOptionFunc) ([]*GroupWiki, *Response, error)
GetGroupWikiPage(gid any, slug string, opt *GetGroupWikiPageOptions, options ...RequestOptionFunc) (*GroupWiki, *Response, error)
CreateGroupWikiPage(gid any, opt *CreateGroupWikiPageOptions, options ...RequestOptionFunc) (*GroupWiki, *Response, error)
EditGroupWikiPage(gid any, slug string, opt *EditGroupWikiPageOptions, options ...RequestOptionFunc) (*GroupWiki, *Response, error)
DeleteGroupWikiPage(gid any, slug string, options ...RequestOptionFunc) (*Response, error)
}
GroupWikisServiceInterface defines methods for the GroupWikisService.
type GroupsService ¶
type GroupsService struct {
// contains filtered or unexported fields
}
GroupsService handles communication with the group related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/groups/
func (*GroupsService) AddGroupHook ¶
func (s *GroupsService) AddGroupHook(gid any, opt *AddGroupHookOptions, options ...RequestOptionFunc) (*GroupHook, *Response, error)
AddGroupHook creates a new group scoped webhook.
GitLab API docs: https://docs.gitlab.com/api/group_webhooks/#add-a-group-hook
func (*GroupsService) AddGroupLDAPLink ¶
func (s *GroupsService) AddGroupLDAPLink(gid any, 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/api/group_ldap_links/#add-an-ldap-group-link-with-cn-or-filter
func (*GroupsService) AddGroupPushRule ¶
func (s *GroupsService) AddGroupPushRule(gid any, opt *AddGroupPushRuleOptions, options ...RequestOptionFunc) (*GroupPushRules, *Response, error)
AddGroupPushRule adds push rules to the specified group.
GitLab API docs: https://docs.gitlab.com/api/group_push_rules/#add-push-rules-to-a-group
func (*GroupsService) AddGroupSAMLLink ¶
func (s *GroupsService) AddGroupSAMLLink(gid any, 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/api/saml/#add-a-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.
When `default_branch_protection_defaults` are defined with an `avatar` value, only one value for `allowed_to_push` and `allowed_to_merge` will be used as the GitLab API only accepts one value for those attributes even when multiples are provided on the request. The API will take the highest permission level. For instance, if 'developer' and 'maintainer' are provided, the API will take 'maintainer'.
GitLab API docs: https://docs.gitlab.com/api/groups/#create-a-group
func (*GroupsService) CreateServiceAccount ¶
func (s *GroupsService) CreateServiceAccount(gid any, opt *CreateServiceAccountOptions, options ...RequestOptionFunc) (*GroupServiceAccount, *Response, error)
CreateServiceAccount creates a service account user.
This API endpoint works on top-level groups only. It does not work on subgroups.
GitLab API docs: https://docs.gitlab.com/api/service_accounts/#create-a-group-service-account
func (*GroupsService) CreateServiceAccountPersonalAccessToken ¶
func (s *GroupsService) CreateServiceAccountPersonalAccessToken(gid any, serviceAccount int64, 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/api/service_accounts/#create-a-personal-access-token-for-a-group-service-account
func (*GroupsService) DeleteGroup ¶
func (s *GroupsService) DeleteGroup(gid any, opt *DeleteGroupOptions, options ...RequestOptionFunc) (*Response, error)
DeleteGroup removes group with all projects inside.
GitLab API docs: https://docs.gitlab.com/api/groups/#delete-a-group
func (*GroupsService) DeleteGroupCustomHeader ¶
func (s *GroupsService) DeleteGroupCustomHeader(gid any, hook int64, key string, options ...RequestOptionFunc) (*Response, error)
DeleteGroupCustomHeader deletes a group custom webhook header.
GitLab API docs: https://docs.gitlab.com/api/group_webhooks/#delete-a-custom-header
func (*GroupsService) DeleteGroupHook ¶
func (s *GroupsService) DeleteGroupHook(gid any, hook int64, 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/api/group_webhooks/#delete-a-group-hook
func (*GroupsService) DeleteGroupHookURLVariable ¶
func (s *GroupsService) DeleteGroupHookURLVariable(gid any, hook int64, key string, options ...RequestOptionFunc) (*Response, error)
DeleteGroupHookURLVariable sets a group hook URL variable.
GitLab API docs: https://docs.gitlab.com/api/group_webhooks/#delete-a-url-variable
func (*GroupsService) DeleteGroupLDAPLink ¶
func (s *GroupsService) DeleteGroupLDAPLink(gid any, cn string, options ...RequestOptionFunc) (*Response, error)
DeleteGroupLDAPLink deletes a group LDAP link. Available only for users who can edit groups. Deprecated as upstream API is deprecated. Use DeleteGroupLDAPLinkWithCNOrFilter() instead.
GitLab API docs: https://docs.gitlab.com/api/group_ldap_links/#delete-an-ldap-group-link-deprecated
func (*GroupsService) DeleteGroupLDAPLinkForProvider ¶
func (s *GroupsService) DeleteGroupLDAPLinkForProvider(gid any, 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/api/group_ldap_links/#delete-an-ldap-group-link-deprecated
func (*GroupsService) DeleteGroupLDAPLinkWithCNOrFilter ¶
func (s *GroupsService) DeleteGroupLDAPLinkWithCNOrFilter(gid any, 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/api/group_ldap_links/#delete-an-ldap-group-link-with-cn-or-filter
func (*GroupsService) DeleteGroupPushRule ¶
func (s *GroupsService) DeleteGroupPushRule(gid any, options ...RequestOptionFunc) (*Response, error)
DeleteGroupPushRule deletes the push rules of a group.
GitLab API docs: https://docs.gitlab.com/api/group_push_rules/#delete-the-push-rules-of-a-group
func (*GroupsService) DeleteGroupSAMLLink ¶
func (s *GroupsService) DeleteGroupSAMLLink(gid any, 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/api/saml/#delete-a-saml-group-link
func (*GroupsService) DeleteServiceAccount ¶
func (s *GroupsService) DeleteServiceAccount(gid any, serviceAccount int64, opt *DeleteServiceAccountOptions, options ...RequestOptionFunc) (*Response, error)
DeleteServiceAccount Deletes a service account user.
This API endpoint works on top-level groups only. It does not work on subgroups.
GitLab API docs: https://docs.gitlab.com/api/service_accounts/#delete-a-group-service-account
func (*GroupsService) DownloadAvatar ¶
func (s *GroupsService) DownloadAvatar(gid any, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
DownloadAvatar downloads a group avatar.
GitLab API docs: https://docs.gitlab.com/api/groups/#download-a-group-avatar
func (*GroupsService) EditGroupHook ¶
func (s *GroupsService) EditGroupHook(gid any, hook int64, opt *EditGroupHookOptions, options ...RequestOptionFunc) (*GroupHook, *Response, error)
EditGroupHook edits a hook for a specified group.
GitLab API docs: https://docs.gitlab.com/api/group_webhooks/#edit-group-hook
func (*GroupsService) EditGroupPushRule ¶
func (s *GroupsService) EditGroupPushRule(gid any, opt *EditGroupPushRuleOptions, options ...RequestOptionFunc) (*GroupPushRules, *Response, error)
EditGroupPushRule edits a push rule for a specified group.
GitLab API docs: https://docs.gitlab.com/api/group_push_rules/#edit-the-push-rules-of-a-group
func (*GroupsService) GetGroup ¶
func (s *GroupsService) GetGroup(gid any, opt *GetGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
GetGroup gets all details of a group.
GitLab API docs: https://docs.gitlab.com/api/groups/#get-a-single-group
func (*GroupsService) GetGroupHook ¶
func (s *GroupsService) GetGroupHook(gid any, hook int64, options ...RequestOptionFunc) (*GroupHook, *Response, error)
GetGroupHook gets a specific hook for a group.
GitLab API docs: https://docs.gitlab.com/api/group_webhooks/#get-a-group-hook
func (*GroupsService) GetGroupPushRules ¶
func (s *GroupsService) GetGroupPushRules(gid any, options ...RequestOptionFunc) (*GroupPushRules, *Response, error)
GetGroupPushRules gets the push rules of a group.
GitLab API docs: https://docs.gitlab.com/api/group_push_rules/#get-the-push-rules-of-a-group
func (*GroupsService) GetGroupSAMLLink ¶
func (s *GroupsService) GetGroupSAMLLink(gid any, 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/api/saml/#get-a-saml-group-link
func (*GroupsService) ListAllGroupMembers ¶
func (s *GroupsService) ListAllGroupMembers(gid any, 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/api/members/#list-all-members-of-a-group-or-project-including-inherited-and-invited-members
func (*GroupsService) ListBillableGroupMembers ¶
func (s *GroupsService) ListBillableGroupMembers(gid any, 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/api/members/#list-all-billable-members-of-a-group
func (*GroupsService) ListDescendantGroups ¶
func (s *GroupsService) ListDescendantGroups(gid any, opt *ListDescendantGroupsOptions, options ...RequestOptionFunc) ([]*Group, *Response, error)
ListDescendantGroups gets a list of subgroups for a given project.
GitLab API docs: https://docs.gitlab.com/api/groups/#list-descendant-groups
func (*GroupsService) ListGroupHooks ¶
func (s *GroupsService) ListGroupHooks(gid any, opt *ListGroupHooksOptions, options ...RequestOptionFunc) ([]*GroupHook, *Response, error)
ListGroupHooks gets a list of group hooks.
GitLab API docs: https://docs.gitlab.com/api/group_webhooks/#list-group-hooks
func (*GroupsService) ListGroupLDAPLinks ¶
func (s *GroupsService) ListGroupLDAPLinks(gid any, 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/api/group_ldap_links/#list-ldap-group-links
func (*GroupsService) ListGroupMembers ¶
func (s *GroupsService) ListGroupMembers(gid any, 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/api/members/#list-all-members-of-a-group-or-project
func (*GroupsService) ListGroupProjects ¶
func (s *GroupsService) ListGroupProjects(gid any, opt *ListGroupProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
ListGroupProjects get a list of group projects
GitLab API docs: https://docs.gitlab.com/api/groups/#list-projects
func (*GroupsService) ListGroupSAMLLinks ¶
func (s *GroupsService) ListGroupSAMLLinks(gid any, 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/api/saml/#list-saml-group-links
func (*GroupsService) ListGroupSharedProjects ¶
func (s *GroupsService) ListGroupSharedProjects(gid any, opt *ListGroupSharedProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
ListGroupSharedProjects gets a list of projects shared to this group.
GitLab API docs: https://docs.gitlab.com/api/groups/#list-shared-projects
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/api/groups/#list-groups
func (*GroupsService) ListMembershipsForBillableGroupMember ¶
func (s *GroupsService) ListMembershipsForBillableGroupMember(gid any, user int64, opt *ListMembershipsForBillableGroupMemberOptions, options ...RequestOptionFunc) ([]*BillableUserMembership, *Response, error)
ListMembershipsForBillableGroupMember gets a list of memberships for a billable member of a group.
GitLab API docs: https://docs.gitlab.com/api/members/#list-memberships-for-a-billable-member-of-a-group
func (*GroupsService) ListProvisionedUsers ¶
func (s *GroupsService) ListProvisionedUsers(gid any, 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/api/groups/#list-provisioned-users
func (*GroupsService) ListServiceAccountPersonalAccessTokens ¶
func (s *GroupsService) ListServiceAccountPersonalAccessTokens(gid any, serviceAccount int64, opt *ListServiceAccountPersonalAccessTokensOptions, options ...RequestOptionFunc) ([]*PersonalAccessToken, *Response, error)
ListServiceAccountPersonalAccessTokens gets a list of personal access tokens for a service account user for a group.
GitLab API docs: https://docs.gitlab.com/api/service_accounts/#list-all-personal-access-tokens-for-a-group-service-account
func (*GroupsService) ListServiceAccounts ¶
func (s *GroupsService) ListServiceAccounts(gid any, opt *ListServiceAccountsOptions, options ...RequestOptionFunc) ([]*GroupServiceAccount, *Response, error)
ListServiceAccounts gets a list of service accounts.
GitLab API docs: https://docs.gitlab.com/api/service_accounts/#list-all-group-service-accounts
func (*GroupsService) ListSubGroups ¶
func (s *GroupsService) ListSubGroups(gid any, opt *ListSubGroupsOptions, options ...RequestOptionFunc) ([]*Group, *Response, error)
ListSubGroups gets a list of subgroups for a given group.
GitLab API docs: https://docs.gitlab.com/api/groups/#list-subgroups
func (*GroupsService) RemoveBillableGroupMember ¶
func (s *GroupsService) RemoveBillableGroupMember(gid any, user int64, options ...RequestOptionFunc) (*Response, error)
RemoveBillableGroupMember removes a given group members that count as billable.
GitLab API docs: https://docs.gitlab.com/api/members/#remove-a-billable-member-from-a-group
func (*GroupsService) ResendGroupHookEvent ¶
func (s *GroupsService) ResendGroupHookEvent(gid any, hook int64, hookEventID int64, options ...RequestOptionFunc) (*Response, error)
ResendGroupHookEvent resends a specific hook event.
GitLab API docs: https://docs.gitlab.com/api/group_webhooks/#resend-group-hook-event
func (*GroupsService) RestoreGroup ¶
func (s *GroupsService) RestoreGroup(gid any, options ...RequestOptionFunc) (*Group, *Response, error)
RestoreGroup restores a previously deleted group
GitLab API docs: https://docs.gitlab.com/api/groups/#restore-a-group-marked-for-deletion
func (*GroupsService) RevokeServiceAccountPersonalAccessToken ¶
func (s *GroupsService) RevokeServiceAccountPersonalAccessToken(gid any, serviceAccount, token int64, options ...RequestOptionFunc) (*Response, error)
RevokeServiceAccountPersonalAccessToken revokes a personal access token for an existing service account user in a given top-level group.
GitLab API docs: https://docs.gitlab.com/api/service_accounts/#revoke-a-personal-access-token-for-a-group-service-account
func (*GroupsService) RotateServiceAccountPersonalAccessToken ¶
func (s *GroupsService) RotateServiceAccountPersonalAccessToken(gid any, serviceAccount, token int64, opt *RotateServiceAccountPersonalAccessTokenOptions, 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/api/service_accounts/#rotate-a-personal-access-token-for-a-group-service-account
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/api/groups/#search-for-a-group
func (*GroupsService) SetGroupCustomHeader ¶
func (s *GroupsService) SetGroupCustomHeader(gid any, hook int64, key string, opt *SetHookCustomHeaderOptions, options ...RequestOptionFunc) (*Response, error)
SetGroupCustomHeader creates or updates a group custom webhook header.
GitLab API docs: https://docs.gitlab.com/api/group_webhooks/#set-a-custom-header
func (*GroupsService) SetGroupHookURLVariable ¶
func (s *GroupsService) SetGroupHookURLVariable(gid any, hook int64, key string, opt *SetHookURLVariableOptions, options ...RequestOptionFunc) (*Response, error)
SetGroupHookURLVariable sets a group hook URL variable.
GitLab API docs: https://docs.gitlab.com/api/group_webhooks/#set-a-url-variable
func (*GroupsService) ShareGroupWithGroup ¶
func (s *GroupsService) ShareGroupWithGroup(gid any, opt *ShareGroupWithGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
ShareGroupWithGroup shares a group with another group.
GitLab API docs: https://docs.gitlab.com/api/groups/#create-a-link-to-share-a-group-with-another-group
func (*GroupsService) TransferGroup ¶
func (s *GroupsService) TransferGroup(gid any, pid any, options ...RequestOptionFunc) (*Group, *Response, error)
TransferGroup transfers a project to the Group namespace. Available only for admin.
GitLab API docs: https://docs.gitlab.com/api/groups/#transfer-a-project-to-a-group
func (*GroupsService) TransferSubGroup ¶
func (s *GroupsService) TransferSubGroup(gid any, 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/api/groups/#transfer-a-group
func (*GroupsService) TriggerTestGroupHook ¶
func (s *GroupsService) TriggerTestGroupHook(pid any, hook int64, trigger GroupHookTrigger, options ...RequestOptionFunc) (*Response, error)
TriggerTestGroupHook triggers a test hook for a specified group.
GitLab API docs: https://docs.gitlab.com/api/group_webhooks/#trigger-a-test-group-hook
func (*GroupsService) UnshareGroupFromGroup ¶
func (s *GroupsService) UnshareGroupFromGroup(gid any, groupID int64, options ...RequestOptionFunc) (*Response, error)
UnshareGroupFromGroup unshares a group from another group.
GitLab API docs: https://docs.gitlab.com/api/groups/#delete-the-link-that-shares-a-group-with-another-group
func (*GroupsService) UpdateGroup ¶
func (s *GroupsService) UpdateGroup(gid any, opt *UpdateGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
UpdateGroup updates an existing group; only available to group owners and administrators.
When `default_branch_protection_defaults` are defined with an `avatar` value, only one value for `allowed_to_push` and `allowed_to_merge` will be used as the GitLab API only accepts one value for those attributes even when multiples are provided on the request. The API will take the highest permission level. For instance, if 'developer' and 'maintainer' are provided, the API will take 'maintainer'.
GitLab API docs: https://docs.gitlab.com/api/groups/#update-group-attributes
func (*GroupsService) UpdateServiceAccount ¶
func (s *GroupsService) UpdateServiceAccount(gid any, serviceAccount int64, opt *UpdateServiceAccountOptions, options ...RequestOptionFunc) (*GroupServiceAccount, *Response, error)
UpdateServiceAccount updates a service account user.
This API endpoint works on top-level groups only. It does not work on subgroups.
GitLab API docs: https://docs.gitlab.com/api/service_accounts/#update-a-group-service-account
func (*GroupsService) UploadAvatar ¶
func (s *GroupsService) UploadAvatar(gid any, avatar io.Reader, filename string, options ...RequestOptionFunc) (*Group, *Response, error)
UploadAvatar uploads a group avatar.
GitLab API docs: https://docs.gitlab.com/api/groups/#upload-a-group-avatar
type GroupsServiceInterface ¶
type GroupsServiceInterface interface {
ListGroups(opt *ListGroupsOptions, options ...RequestOptionFunc) ([]*Group, *Response, error)
ListSubGroups(gid any, opt *ListSubGroupsOptions, options ...RequestOptionFunc) ([]*Group, *Response, error)
ListDescendantGroups(gid any, opt *ListDescendantGroupsOptions, options ...RequestOptionFunc) ([]*Group, *Response, error)
ListGroupProjects(gid any, opt *ListGroupProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
GetGroup(gid any, opt *GetGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
DownloadAvatar(gid any, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
CreateGroup(opt *CreateGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
TransferGroup(gid any, pid any, options ...RequestOptionFunc) (*Group, *Response, error)
TransferSubGroup(gid any, opt *TransferSubGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
UpdateGroup(gid any, opt *UpdateGroupOptions, options ...RequestOptionFunc) (*Group, *Response, error)
UploadAvatar(gid any, avatar io.Reader, filename string, options ...RequestOptionFunc) (*Group, *Response, error)
DeleteGroup(gid any, opt *DeleteGroupOptions, options ...RequestOptionFunc) (*Response, error)
RestoreGroup(gid any, options ...RequestOptionFunc) (*Group, *Response, error)
SearchGroup(query string, options ...RequestOptionFunc) ([]*Group, *Response, error)
ListProvisionedUsers(gid any, opt *ListProvisionedUsersOptions, options ...RequestOptionFunc) ([]*User, *Response, error)
ListGroupLDAPLinks(gid any, options ...RequestOptionFunc) ([]*LDAPGroupLink, *Response, error)
AddGroupLDAPLink(gid any, opt *AddGroupLDAPLinkOptions, options ...RequestOptionFunc) (*LDAPGroupLink, *Response, error)
DeleteGroupLDAPLink(gid any, cn string, options ...RequestOptionFunc) (*Response, error)
DeleteGroupLDAPLinkWithCNOrFilter(gid any, opts *DeleteGroupLDAPLinkWithCNOrFilterOptions, options ...RequestOptionFunc) (*Response, error)
DeleteGroupLDAPLinkForProvider(gid any, provider, cn string, options ...RequestOptionFunc) (*Response, error)
ListGroupSAMLLinks(gid any, options ...RequestOptionFunc) ([]*SAMLGroupLink, *Response, error)
GetGroupSAMLLink(gid any, samlGroupName string, options ...RequestOptionFunc) (*SAMLGroupLink, *Response, error)
AddGroupSAMLLink(gid any, opt *AddGroupSAMLLinkOptions, options ...RequestOptionFunc) (*SAMLGroupLink, *Response, error)
DeleteGroupSAMLLink(gid any, samlGroupName string, options ...RequestOptionFunc) (*Response, error)
GetGroupPushRules(gid any, options ...RequestOptionFunc) (*GroupPushRules, *Response, error)
AddGroupPushRule(gid any, opt *AddGroupPushRuleOptions, options ...RequestOptionFunc) (*GroupPushRules, *Response, error)
EditGroupPushRule(gid any, opt *EditGroupPushRuleOptions, options ...RequestOptionFunc) (*GroupPushRules, *Response, error)
DeleteGroupPushRule(gid any, options ...RequestOptionFunc) (*Response, error)
// group_hooks.go
ListGroupHooks(gid any, opt *ListGroupHooksOptions, options ...RequestOptionFunc) ([]*GroupHook, *Response, error)
GetGroupHook(gid any, hook int64, options ...RequestOptionFunc) (*GroupHook, *Response, error)
ResendGroupHookEvent(gid any, hook int64, hookEventID int64, options ...RequestOptionFunc) (*Response, error)
AddGroupHook(gid any, opt *AddGroupHookOptions, options ...RequestOptionFunc) (*GroupHook, *Response, error)
EditGroupHook(gid any, hook int64, opt *EditGroupHookOptions, options ...RequestOptionFunc) (*GroupHook, *Response, error)
DeleteGroupHook(gid any, hook int64, options ...RequestOptionFunc) (*Response, error)
TriggerTestGroupHook(pid any, hook int64, trigger GroupHookTrigger, options ...RequestOptionFunc) (*Response, error)
SetGroupCustomHeader(gid any, hook int64, key string, opt *SetHookCustomHeaderOptions, options ...RequestOptionFunc) (*Response, error)
DeleteGroupCustomHeader(gid any, hook int64, key string, options ...RequestOptionFunc) (*Response, error)
SetGroupHookURLVariable(gid any, hook int64, key string, opt *SetHookURLVariableOptions, options ...RequestOptionFunc) (*Response, error)
DeleteGroupHookURLVariable(gid any, hook int64, key string, options ...RequestOptionFunc) (*Response, error)
// group_serviceaccounts.go
ListServiceAccounts(gid any, opt *ListServiceAccountsOptions, options ...RequestOptionFunc) ([]*GroupServiceAccount, *Response, error)
CreateServiceAccount(gid any, opt *CreateServiceAccountOptions, options ...RequestOptionFunc) (*GroupServiceAccount, *Response, error)
UpdateServiceAccount(gid any, serviceAccount int64, opt *UpdateServiceAccountOptions, options ...RequestOptionFunc) (*GroupServiceAccount, *Response, error)
DeleteServiceAccount(gid any, serviceAccount int64, opt *DeleteServiceAccountOptions, options ...RequestOptionFunc) (*Response, error)
ListServiceAccountPersonalAccessTokens(gid any, serviceAccount int64, opt *ListServiceAccountPersonalAccessTokensOptions, options ...RequestOptionFunc) ([]*PersonalAccessToken, *Response, error)
CreateServiceAccountPersonalAccessToken(gid any, serviceAccount int64, opt *CreateServiceAccountPersonalAccessTokenOptions, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
RevokeServiceAccountPersonalAccessToken(gid any, serviceAccount, token int64, options ...RequestOptionFunc) (*Response, error)
RotateServiceAccountPersonalAccessToken(gid any, serviceAccount, token int64, opt *RotateServiceAccountPersonalAccessTokenOptions, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
// group_members.go
ListGroupMembers(gid any, opt *ListGroupMembersOptions, options ...RequestOptionFunc) ([]*GroupMember, *Response, error)
ListAllGroupMembers(gid any, opt *ListGroupMembersOptions, options ...RequestOptionFunc) ([]*GroupMember, *Response, error)
ListBillableGroupMembers(gid any, opt *ListBillableGroupMembersOptions, options ...RequestOptionFunc) ([]*BillableGroupMember, *Response, error)
ListMembershipsForBillableGroupMember(gid any, user int64, opt *ListMembershipsForBillableGroupMemberOptions, options ...RequestOptionFunc) ([]*BillableUserMembership, *Response, error)
RemoveBillableGroupMember(gid any, user int64, options ...RequestOptionFunc) (*Response, error)
}
type HarborIntegration ¶
type HarborIntegration struct {
Integration
Properties HarborIntegrationProperties `json:"properties"`
}
HarborIntegration represents the Harbor integration settings. It embeds the generic Integration struct and adds Harbor-specific properties.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#get-harbor-settings
type HarborIntegrationProperties ¶
type HarborIntegrationProperties struct {
URL string `json:"url"`
ProjectName string `json:"project_name"`
Username string `json:"username"`
}
HarborIntegrationProperties represents Harbor specific properties returned by the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#get-harbor-settings
type HarborService ¶
type HarborService struct {
Service
Properties *HarborServiceProperties `json:"properties"`
}
HarborService represents the Harbor service settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#harbor
type HarborServiceProperties ¶
type HarborServiceProperties struct {
URL string `json:"url"`
ProjectName string `json:"project_name"`
Username string `json:"username"`
Password string `json:"password"`
UseInheritedSettings bool `json:"use_inherited_settings"`
}
HarborServiceProperties represents Harbor specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#harbor
type Hook ¶
type Hook struct {
ID int64 `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"`
}
Hook represents a GitLab system hook.
GitLab API docs: https://docs.gitlab.com/api/system_hooks/
type HookCustomHeader ¶
HookCustomHeader represents a project or group hook custom header Note: "Key" is returned from the Get operation, but "Value" is not The List operation doesn't return any headers at all for Projects, but does return headers for Groups
type HookEvent ¶
type HookEvent struct {
EventName string `json:"event_name"`
Name string `json:"name"`
Path string `json:"path"`
ProjectID int64 `json:"project_id"`
OwnerName string `json:"owner_name"`
OwnerEmail string `json:"owner_email"`
}
HookEvent represents an event trigger by a GitLab system hook.
GitLab API docs: https://docs.gitlab.com/api/system_hooks/
type HookURLVariable ¶
HookURLVariable represents a project or group hook URL variable
type HostKey ¶ added in v2.12.0
type HostKey struct {
FingerprintSHA256 string `json:"fingerprint_sha256"`
}
type ISOTime ¶
ISOTime represents an ISO 8601 formatted date.
func ParseISOTime ¶
ParseISOTime parses an ISO 8601 formatted date.
func (*ISOTime) EncodeValues ¶
EncodeValues implements the query.Encoder interface.
func (ISOTime) MarshalJSON ¶
MarshalJSON implements the json.Marshaler interface.
func (*ISOTime) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface.
type ImpersonationToken ¶
type ImpersonationToken struct {
ID int64 `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"`
}
ImpersonationToken represents an impersonation token.
GitLab API docs: https://docs.gitlab.com/api/user_tokens/#list-all-impersonation-tokens-for-a-user
type ImportFileOptions ¶
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"`
}
ImportFileOptions represents the available ImportFile() options.
GitLab API docs: https://docs.gitlab.com/api/project_import_export/#import-a-file
type ImportGitHubGistsIntoGitLabSnippetsOptions ¶
type ImportGitHubGistsIntoGitLabSnippetsOptions struct {
PersonalAccessToken *string `url:"personal_access_token,omitempty" json:"personal_access_token,omitempty"`
}
ImportGitHubGistsIntoGitLabSnippetsOptions represents the available ImportGitHubGistsIntoGitLabSnippets() options.
GitLab API docs: https://docs.gitlab.com/api/import/#import-github-gists-into-gitlab-snippets
type ImportRepositoryFromBitbucketCloudOptions ¶
type ImportRepositoryFromBitbucketCloudOptions struct {
BitbucketUsername *string `url:"bitbucket_username,omitempty" json:"bitbucket_username,omitempty"`
BitbucketAppPassword *string `url:"bitbucket_app_password,omitempty" json:"bitbucket_app_password,omitempty"`
RepoPath *string `url:"repo_path,omitempty" json:"repo_path,omitempty"`
TargetNamespace *string `url:"target_namespace,omitempty" json:"target_namespace,omitempty"`
NewName *string `url:"new_name,omitempty" json:"new_name,omitempty"`
}
ImportRepositoryFromBitbucketCloudOptions represents the available ImportRepositoryFromBitbucketCloud() options.
GitLab API docs: https://docs.gitlab.com/api/import/#import-repository-from-bitbucket-cloud
type ImportRepositoryFromBitbucketServerOptions ¶
type ImportRepositoryFromBitbucketServerOptions struct {
BitbucketServerURL *string `url:"bitbucket_server_url,omitempty" json:"bitbucket_server_url,omitempty"`
BitbucketServerUsername *string `url:"bitbucket_server_username,omitempty" json:"bitbucket_server_username,omitempty"`
PersonalAccessToken *string `url:"personal_access_token,omitempty" json:"personal_access_token,omitempty"`
BitbucketServerProject *string `url:"bitbucket_server_project,omitempty" json:"bitbucket_server_project,omitempty"`
BitbucketServerRepo *string `url:"bitbucket_server_repo,omitempty" json:"bitbucket_server_repo,omitempty"`
NewName *string `url:"new_name,omitempty" json:"new_name,omitempty"`
NewNamespace *string `url:"new_namespace,omitempty" json:"new_namespace,omitempty"`
TimeoutStrategy *string `url:"timeout_strategy,omitempty" json:"timeout_strategy,omitempty"`
}
ImportRepositoryFromBitbucketServerOptions represents the available ImportRepositoryFromBitbucketServer() options.
GitLab API docs: https://docs.gitlab.com/api/import/#import-repository-from-bitbucket-server
type ImportRepositoryFromGitHubOptionalStagesOptions ¶
type ImportRepositoryFromGitHubOptionalStagesOptions struct {
SingleEndpointNotesImport *bool `url:"single_endpoint_notes_import,omitempty" json:"single_endpoint_notes_import,omitempty"`
AttachmentsImport *bool `url:"attachments_import,omitempty" json:"attachments_import,omitempty"`
CollaboratorsImport *bool `url:"collaborators_import,omitempty" json:"collaborators_import,omitempty"`
}
type ImportRepositoryFromGitHubOptions ¶
type ImportRepositoryFromGitHubOptions struct {
PersonalAccessToken *string `url:"personal_access_token,omitempty" json:"personal_access_token,omitempty"`
RepoID *int64 `url:"repo_id,omitempty" json:"repo_id,omitempty"`
NewName *string `url:"new_name,omitempty" json:"new_name,omitempty"`
TargetNamespace *string `url:"target_namespace,omitempty" json:"target_namespace,omitempty"`
GitHubHostname *string `url:"github_hostname,omitempty" json:"github_hostname,omitempty"`
OptionalStages ImportRepositoryFromGitHubOptionalStagesOptions `url:"optional_stages,omitempty" json:"optional_stages,omitempty"`
TimeoutStrategy *string `url:"timeout_strategy,omitempty" json:"timeout_strategy,omitempty"`
}
ImportRepositoryFromGitHubOptions represents the available ImportRepositoryFromGitHub() options.
GitLab API docs: https://docs.gitlab.com/api/import/#import-repository-from-github
type ImportService ¶
type ImportService struct {
// contains filtered or unexported fields
}
ImportService handles communication with the import related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/import/
func (*ImportService) CancelGitHubProjectImport ¶
func (s *ImportService) CancelGitHubProjectImport(opt *CancelGitHubProjectImportOptions, options ...RequestOptionFunc) (*CancelledGitHubImport, *Response, error)
CancelGitHubProjectImport cancels an import of a repository from GitHub.
GitLab API docs: https://docs.gitlab.com/api/import/#cancel-github-project-import
func (*ImportService) ImportGitHubGistsIntoGitLabSnippets ¶
func (s *ImportService) ImportGitHubGistsIntoGitLabSnippets(opt *ImportGitHubGistsIntoGitLabSnippetsOptions, options ...RequestOptionFunc) (*Response, error)
ImportGitHubGistsIntoGitLabSnippets imports personal GitHub Gists into personal GitLab Snippets.
GitLab API docs: https://docs.gitlab.com/api/import/#import-github-gists-into-gitlab-snippets
func (*ImportService) ImportRepositoryFromBitbucketCloud ¶
func (s *ImportService) ImportRepositoryFromBitbucketCloud(opt *ImportRepositoryFromBitbucketCloudOptions, options ...RequestOptionFunc) (*BitbucketCloudImport, *Response, error)
ImportRepositoryFromBitbucketCloud imports a repository from Bitbucket Cloud.
GitLab API docs: https://docs.gitlab.com/api/import/#import-repository-from-bitbucket-cloud
func (*ImportService) ImportRepositoryFromBitbucketServer ¶
func (s *ImportService) ImportRepositoryFromBitbucketServer(opt *ImportRepositoryFromBitbucketServerOptions, options ...RequestOptionFunc) (*BitbucketServerImport, *Response, error)
ImportRepositoryFromBitbucketServer imports a repository from Bitbucket Server.
GitLab API docs: https://docs.gitlab.com/api/import/#import-repository-from-bitbucket-server
func (*ImportService) ImportRepositoryFromGitHub ¶
func (s *ImportService) ImportRepositoryFromGitHub(opt *ImportRepositoryFromGitHubOptions, options ...RequestOptionFunc) (*GitHubImport, *Response, error)
ImportRepositoryFromGitHub imports a repository from GitHub.
GitLab API docs: https://docs.gitlab.com/api/import/#import-repository-from-github
type ImportServiceInterface ¶
type ImportServiceInterface interface {
ImportRepositoryFromGitHub(opt *ImportRepositoryFromGitHubOptions, options ...RequestOptionFunc) (*GitHubImport, *Response, error)
CancelGitHubProjectImport(opt *CancelGitHubProjectImportOptions, options ...RequestOptionFunc) (*CancelledGitHubImport, *Response, error)
ImportGitHubGistsIntoGitLabSnippets(opt *ImportGitHubGistsIntoGitLabSnippetsOptions, options ...RequestOptionFunc) (*Response, error)
ImportRepositoryFromBitbucketServer(opt *ImportRepositoryFromBitbucketServerOptions, options ...RequestOptionFunc) (*BitbucketServerImport, *Response, error)
ImportRepositoryFromBitbucketCloud(opt *ImportRepositoryFromBitbucketCloudOptions, options ...RequestOptionFunc) (*BitbucketCloudImport, *Response, error)
}
type ImportStatus ¶
type ImportStatus struct {
ID int64 `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"`
}
ImportStatus represents a project import status.
GitLab API docs: https://docs.gitlab.com/api/project_import_export/#import-status
func (ImportStatus) String ¶
func (s ImportStatus) String() string
type Include ¶
type Include struct {
Type string `json:"type"`
Location string `json:"location"`
Blob string `json:"blob"`
Raw string `json:"raw"`
Extra map[string]any `json:"extra"`
ContextProject string `json:"context_project"`
ContextSHA string `json:"context_sha"`
}
Include contains the details about an include block in the .gitlab-ci.yml file. It is used in ProjectLintResult.
Reference can be found at the lint API endpoint in the openapi yaml: https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/api/openapi/openapi_v2.yaml
type InstanceCluster ¶
type InstanceCluster struct {
ID int64 `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"`
}
InstanceCluster represents a GitLab Instance Cluster. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/instance_clusters/
func (InstanceCluster) String
deprecated
func (v InstanceCluster) String() string
Deprecated: in GitLab 14.5, to be removed in 19.0
type InstanceClustersService ¶
type InstanceClustersService struct {
// contains filtered or unexported fields
}
InstanceClustersService handles communication with the instance clusters related methods of the GitLab API. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/instance_clusters/
func (*InstanceClustersService) AddCluster ¶
func (s *InstanceClustersService) AddCluster(opt *AddClusterOptions, options ...RequestOptionFunc) (*InstanceCluster, *Response, error)
AddCluster adds an existing cluster to the instance. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/instance_clusters/#add-existing-instance-cluster
func (*InstanceClustersService) DeleteCluster ¶
func (s *InstanceClustersService) DeleteCluster(cluster int64, options ...RequestOptionFunc) (*Response, error)
DeleteCluster deletes an existing instance cluster. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/instance_clusters/#delete-instance-cluster
func (*InstanceClustersService) EditCluster ¶
func (s *InstanceClustersService) EditCluster(cluster int64, opt *EditClusterOptions, options ...RequestOptionFunc) (*InstanceCluster, *Response, error)
EditCluster updates an existing instance cluster. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/instance_clusters/#edit-instance-cluster
func (*InstanceClustersService) GetCluster ¶
func (s *InstanceClustersService) GetCluster(cluster int64, options ...RequestOptionFunc) (*InstanceCluster, *Response, error)
GetCluster gets an instance cluster. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/instance_clusters/#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. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/instance_clusters/#list-instance-clusters
type InstanceClustersServiceInterface
deprecated
type InstanceClustersServiceInterface interface {
// Deprecated: in GitLab 14.5, to be removed in 19.0
ListClusters(options ...RequestOptionFunc) ([]*InstanceCluster, *Response, error)
// Deprecated: in GitLab 14.5, to be removed in 19.0
GetCluster(cluster int64, options ...RequestOptionFunc) (*InstanceCluster, *Response, error)
// Deprecated: in GitLab 14.5, to be removed in 19.0
AddCluster(opt *AddClusterOptions, options ...RequestOptionFunc) (*InstanceCluster, *Response, error)
// Deprecated: in GitLab 14.5, to be removed in 19.0
EditCluster(cluster int64, opt *EditClusterOptions, options ...RequestOptionFunc) (*InstanceCluster, *Response, error)
// Deprecated: in GitLab 14.5, to be removed in 19.0
DeleteCluster(cluster int64, options ...RequestOptionFunc) (*Response, error)
}
Deprecated: in GitLab 14.5, to be removed in 19.0
type InstanceDeployKey ¶
type InstanceDeployKey struct {
ID int64 `json:"id"`
Title string `json:"title"`
CreatedAt *time.Time `json:"created_at"`
ExpiresAt *time.Time `json:"expires_at"`
Key string `json:"key"`
Fingerprint string `json:"fingerprint"`
FingerprintSHA256 string `json:"fingerprint_sha256"`
ProjectsWithWriteAccess []*DeployKeyProject `json:"projects_with_write_access"`
ProjectsWithReadonlyAccess []*DeployKeyProject `json:"projects_with_readonly_access"`
}
InstanceDeployKey represents a GitLab deploy key with the associated projects it has write access to.
func (InstanceDeployKey) String ¶
func (k InstanceDeployKey) String() string
type InstanceVariable ¶
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"`
}
InstanceVariable represents a GitLab instance level CI Variable.
GitLab API docs: https://docs.gitlab.com/api/instance_level_ci_variables/
func (InstanceVariable) String ¶
func (v InstanceVariable) String() string
type InstanceVariablesService ¶
type InstanceVariablesService struct {
// contains filtered or unexported fields
}
InstanceVariablesService handles communication with the instance level CI variables related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/instance_level_ci_variables/
func (*InstanceVariablesService) CreateVariable ¶
func (s *InstanceVariablesService) CreateVariable(opt *CreateInstanceVariableOptions, options ...RequestOptionFunc) (*InstanceVariable, *Response, error)
func (*InstanceVariablesService) GetVariable ¶
func (s *InstanceVariablesService) GetVariable(key string, options ...RequestOptionFunc) (*InstanceVariable, *Response, error)
func (*InstanceVariablesService) ListVariables ¶
func (s *InstanceVariablesService) ListVariables(opt *ListInstanceVariablesOptions, options ...RequestOptionFunc) ([]*InstanceVariable, *Response, error)
func (*InstanceVariablesService) RemoveVariable ¶
func (s *InstanceVariablesService) RemoveVariable(key string, options ...RequestOptionFunc) (*Response, error)
func (*InstanceVariablesService) UpdateVariable ¶
func (s *InstanceVariablesService) UpdateVariable(key string, opt *UpdateInstanceVariableOptions, options ...RequestOptionFunc) (*InstanceVariable, *Response, error)
type InstanceVariablesServiceInterface ¶
type InstanceVariablesServiceInterface interface {
// ListVariables gets a list of all variables for an instance.
//
// GitLab API docs:
// https://docs.gitlab.com/api/instance_level_ci_variables/#list-all-instance-variables
ListVariables(opt *ListInstanceVariablesOptions, options ...RequestOptionFunc) ([]*InstanceVariable, *Response, error)
// GetVariable gets a variable.
//
// GitLab API docs:
// https://docs.gitlab.com/api/instance_level_ci_variables/#show-instance-variable-details
GetVariable(key string, options ...RequestOptionFunc) (*InstanceVariable, *Response, error)
// CreateVariable creates a new instance level CI variable.
//
// GitLab API docs:
// https://docs.gitlab.com/api/instance_level_ci_variables/#create-instance-variable
CreateVariable(opt *CreateInstanceVariableOptions, options ...RequestOptionFunc) (*InstanceVariable, *Response, error)
// UpdateVariable updates an existing instance level CI variable.
//
// GitLab API docs:
// https://docs.gitlab.com/api/instance_level_ci_variables/#update-instance-variable
UpdateVariable(key string, opt *UpdateInstanceVariableOptions, options ...RequestOptionFunc) (*InstanceVariable, *Response, error)
// RemoveVariable removes an instance level CI variable.
//
// GitLab API docs:
// https://docs.gitlab.com/api/instance_level_ci_variables/#remove-instance-variable
RemoveVariable(key string, options ...RequestOptionFunc) (*Response, error)
}
type Integration ¶
type Integration struct {
ID int64 `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"`
AlertEvents bool `json:"alert_events"`
CommitEvents bool `json:"commit_events"`
ConfidentialIssuesEvents bool `json:"confidential_issues_events"`
ConfidentialNoteEvents bool `json:"confidential_note_events"`
DeploymentEvents bool `json:"deployment_events"`
GroupConfidentialMentionEvents bool `json:"group_confidential_mention_events"`
GroupMentionEvents bool `json:"group_mention_events"`
IncidentEvents bool `json:"incident_events"`
IssuesEvents bool `json:"issues_events"`
JobEvents bool `json:"job_events"`
MergeRequestsEvents bool `json:"merge_requests_events"`
NoteEvents bool `json:"note_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"`
CommentOnEventEnabled bool `json:"comment_on_event_enabled"`
Inherited bool `json:"inherited"`
}
Integration represents a GitLab group or project integration.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/ https://docs.gitlab.com/api/project_integrations/
type IntegrationsService ¶
type IntegrationsService struct {
// contains filtered or unexported fields
}
IntegrationsService handles communication with the group integrations related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ee/api/group_integrations.html
func (*IntegrationsService) DeleteGroupMattermostIntegration ¶
func (s *IntegrationsService) DeleteGroupMattermostIntegration(gid any, options ...RequestOptionFunc) (*Response, error)
DeleteGroupMattermostIntegration removes the Mattermost integration from a group.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#mattermost-notifications
func (*IntegrationsService) DeleteGroupMattermostSlashCommandsIntegration ¶
func (s *IntegrationsService) DeleteGroupMattermostSlashCommandsIntegration(gid any, options ...RequestOptionFunc) (*Response, error)
DeleteGroupMattermostSlashCommandsIntegration removes the Mattermost slash commands integration from a group.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#mattermost-slash-commands
func (*IntegrationsService) DisableGroupHarbor ¶
func (s *IntegrationsService) DisableGroupHarbor(gid any, options ...RequestOptionFunc) (*Response, error)
func (*IntegrationsService) DisableGroupJira ¶
func (s *IntegrationsService) DisableGroupJira(gid any, options ...RequestOptionFunc) (*Response, error)
func (*IntegrationsService) DisableGroupMicrosoftTeamsNotifications ¶
func (s *IntegrationsService) DisableGroupMicrosoftTeamsNotifications(gid any, options ...RequestOptionFunc) (*Response, error)
func (*IntegrationsService) DisableGroupSlack ¶
func (s *IntegrationsService) DisableGroupSlack(gid any, options ...RequestOptionFunc) (*Response, error)
func (*IntegrationsService) DisableGroupWebexTeams ¶
func (s *IntegrationsService) DisableGroupWebexTeams(gid any, options ...RequestOptionFunc) (*Response, error)
func (*IntegrationsService) DisableProjectGoogleChat ¶
func (s *IntegrationsService) DisableProjectGoogleChat(pid any, options ...RequestOptionFunc) (*Response, error)
func (*IntegrationsService) GetGroupDiscordSettings ¶
func (s *IntegrationsService) GetGroupDiscordSettings(gid any, options ...RequestOptionFunc) (*DiscordIntegration, *Response, error)
func (*IntegrationsService) GetGroupGoogleChatSettings ¶
func (s *IntegrationsService) GetGroupGoogleChatSettings(gid any, options ...RequestOptionFunc) (*GoogleChatIntegration, *Response, error)
func (*IntegrationsService) GetGroupHarborSettings ¶
func (s *IntegrationsService) GetGroupHarborSettings(gid any, options ...RequestOptionFunc) (*HarborIntegration, *Response, error)
func (*IntegrationsService) GetGroupJiraSettings ¶
func (s *IntegrationsService) GetGroupJiraSettings(gid any, options ...RequestOptionFunc) (*JiraIntegration, *Response, error)
func (*IntegrationsService) GetGroupMatrixSettings ¶
func (s *IntegrationsService) GetGroupMatrixSettings(gid any, options ...RequestOptionFunc) (*MatrixIntegration, *Response, error)
func (*IntegrationsService) GetGroupMattermostIntegration ¶
func (s *IntegrationsService) GetGroupMattermostIntegration(gid any, options ...RequestOptionFunc) (*GroupMattermostIntegration, *Response, error)
GetGroupMattermostIntegration retrieves the Mattermost integration for a group.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#mattermost-notifications
func (*IntegrationsService) GetGroupMattermostSettings ¶
func (s *IntegrationsService) GetGroupMattermostSettings(gid any, options ...RequestOptionFunc) (*MattermostIntegration, *Response, error)
func (*IntegrationsService) GetGroupMattermostSlashCommandsIntegration ¶
func (s *IntegrationsService) GetGroupMattermostSlashCommandsIntegration(gid any, options ...RequestOptionFunc) (*GroupMattermostSlashCommandsIntegration, *Response, error)
GetGroupMattermostSlashCommandsIntegration retrieves the Mattermost slash commands integration for a group.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#mattermost-slash-commands
func (*IntegrationsService) GetGroupMicrosoftTeamsNotifications ¶
func (s *IntegrationsService) GetGroupMicrosoftTeamsNotifications(gid any, options ...RequestOptionFunc) (*MicrosoftTeamsIntegration, *Response, error)
func (*IntegrationsService) GetGroupSlackSettings ¶
func (s *IntegrationsService) GetGroupSlackSettings(gid any, options ...RequestOptionFunc) (*SlackIntegration, *Response, error)
func (*IntegrationsService) GetGroupTelegramSettings ¶
func (s *IntegrationsService) GetGroupTelegramSettings(gid any, options ...RequestOptionFunc) (*TelegramIntegration, *Response, error)
func (*IntegrationsService) GetGroupWebexTeamsSettings ¶
func (s *IntegrationsService) GetGroupWebexTeamsSettings(gid any, options ...RequestOptionFunc) (*WebexTeamsIntegration, *Response, error)
func (*IntegrationsService) GetProjectGoogleChatSettings ¶
func (s *IntegrationsService) GetProjectGoogleChatSettings(pid any, options ...RequestOptionFunc) (*GoogleChatIntegration, *Response, error)
func (*IntegrationsService) ListActiveGroupIntegrations ¶
func (s *IntegrationsService) ListActiveGroupIntegrations(gid any, opt *ListActiveIntegrationsOptions, options ...RequestOptionFunc) ([]*Integration, *Response, error)
func (*IntegrationsService) SetGroupMattermostIntegration ¶
func (s *IntegrationsService) SetGroupMattermostIntegration(gid any, opt *GroupMattermostIntegrationOptions, options ...RequestOptionFunc) (*GroupMattermostIntegration, *Response, error)
SetGroupMattermostIntegration creates or updates the Mattermost integration for a group.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#mattermost-notifications
func (*IntegrationsService) SetGroupMattermostSlashCommandsIntegration ¶
func (s *IntegrationsService) SetGroupMattermostSlashCommandsIntegration(gid any, opt *GroupMattermostSlashCommandsIntegrationOptions, options ...RequestOptionFunc) (*GroupMattermostSlashCommandsIntegration, *Response, error)
SetGroupMattermostSlashCommandsIntegration creates or updates the Mattermost slash commands integration for a group.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#mattermost-slash-commands
func (*IntegrationsService) SetGroupMicrosoftTeamsNotifications ¶
func (s *IntegrationsService) SetGroupMicrosoftTeamsNotifications(gid any, opt *SetMicrosoftTeamsNotificationsOptions, options ...RequestOptionFunc) (*MicrosoftTeamsIntegration, *Response, error)
func (*IntegrationsService) SetGroupSlackSettings ¶
func (s *IntegrationsService) SetGroupSlackSettings(gid any, opt *SetGroupSlackOptions, options ...RequestOptionFunc) (*SlackIntegration, *Response, error)
func (*IntegrationsService) SetGroupWebexTeamsSettings ¶
func (s *IntegrationsService) SetGroupWebexTeamsSettings(gid any, opt *SetGroupWebexTeamsOptions, options ...RequestOptionFunc) (*WebexTeamsIntegration, *Response, error)
func (*IntegrationsService) SetProjectGoogleChatSettings ¶
func (s *IntegrationsService) SetProjectGoogleChatSettings(pid any, opt *SetProjectGoogleChatOptions, options ...RequestOptionFunc) (*GoogleChatIntegration, *Response, error)
func (*IntegrationsService) SetUpGroupHarbor ¶
func (s *IntegrationsService) SetUpGroupHarbor(gid any, opt *SetUpHarborOptions, options ...RequestOptionFunc) (*HarborIntegration, *Response, error)
func (*IntegrationsService) SetUpGroupJira ¶
func (s *IntegrationsService) SetUpGroupJira(gid any, opt *SetUpJiraOptions, options ...RequestOptionFunc) (*JiraIntegration, *Response, error)
type IntegrationsServiceInterface ¶
type IntegrationsServiceInterface interface {
// ListActiveGroupIntegrations gets a list of all active group integrations.
// The vulnerability_events field is only available for GitLab Enterprise Edition.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#list-all-active-integrations
ListActiveGroupIntegrations(gid any, opt *ListActiveIntegrationsOptions, options ...RequestOptionFunc) ([]*Integration, *Response, error)
// SetUpGroupHarbor sets up the Harbor integration for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#set-up-harbor
SetUpGroupHarbor(gid any, opt *SetUpHarborOptions, options ...RequestOptionFunc) (*HarborIntegration, *Response, error)
// DisableGroupHarbor disables the Harbor integration for a group.
// Integration settings are reset.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#disable-harbor
DisableGroupHarbor(gid any, options ...RequestOptionFunc) (*Response, error)
// GetGroupHarborSettings gets the Harbor integration for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#get-harbor-settings
GetGroupHarborSettings(gid any, options ...RequestOptionFunc) (*HarborIntegration, *Response, error)
// SetGroupMicrosoftTeamsNotifications sets up Microsoft Teams notifications for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#set-up-microsoft-teams-notifications
SetGroupMicrosoftTeamsNotifications(gid any, opt *SetMicrosoftTeamsNotificationsOptions, options ...RequestOptionFunc) (*MicrosoftTeamsIntegration, *Response, error)
// DisableGroupMicrosoftTeamsNotifications disables Microsoft Teams notifications
// for a group. Integration settings are reset.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#disable-microsoft-teams-notifications
DisableGroupMicrosoftTeamsNotifications(gid any, options ...RequestOptionFunc) (*Response, error)
// GetGroupMicrosoftTeamsNotifications gets the Microsoft Teams notifications for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#get-microsoft-teams-notifications-settings
GetGroupMicrosoftTeamsNotifications(gid any, options ...RequestOptionFunc) (*MicrosoftTeamsIntegration, *Response, error)
// SetUpGroupJira sets up the Jira integration for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#set-up-jira
SetUpGroupJira(gid any, opt *SetUpJiraOptions, options ...RequestOptionFunc) (*JiraIntegration, *Response, error)
// DisableGroupJira disables the Jira integration for a group.
// Integration settings are reset.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#disable-jira
DisableGroupJira(gid any, options ...RequestOptionFunc) (*Response, error)
// GetGroupJiraSettings gets the Jira integration for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#get-jira-settings
GetGroupJiraSettings(gid any, options ...RequestOptionFunc) (*JiraIntegration, *Response, error)
// GetGroupSlackSettings gets the Slack integration for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#get-slack-settings
GetGroupSlackSettings(gid any, options ...RequestOptionFunc) (*SlackIntegration, *Response, error)
// SetGroupSlackSettings sets up the Slack integration for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#set-up-slack
SetGroupSlackSettings(gid any, opt *SetGroupSlackOptions, options ...RequestOptionFunc) (*SlackIntegration, *Response, error)
// DisableGroupSlack disables the Slack integration for a group.
// Integration settings are reset.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#disable-slack
DisableGroupSlack(gid any, options ...RequestOptionFunc) (*Response, error)
// GetGroupDiscordSettings gets the Discord integration settings for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#discord
GetGroupDiscordSettings(gid any, options ...RequestOptionFunc) (*DiscordIntegration, *Response, error)
// GetGroupTelegramSettings gets the Telegram integration settings for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#telegram
GetGroupTelegramSettings(gid any, options ...RequestOptionFunc) (*TelegramIntegration, *Response, error)
// GetGroupMattermostSettings gets the Mattermost integration settings for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#mattermost-notifications
GetGroupMattermostSettings(gid any, options ...RequestOptionFunc) (*MattermostIntegration, *Response, error)
// GetGroupMatrixSettings gets the Matrix integration settings for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#matrix-notifications
GetGroupMatrixSettings(gid any, options ...RequestOptionFunc) (*MatrixIntegration, *Response, error)
// GetGroupGoogleChatSettings gets the Google Chat integration settings for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#google-chat
GetGroupGoogleChatSettings(gid any, options ...RequestOptionFunc) (*GoogleChatIntegration, *Response, error)
// SetProjectGoogleChatSettings sets up the Google Chat integration for a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/integrations.html#set-up-google-chat
SetProjectGoogleChatSettings(pid any, opt *SetProjectGoogleChatOptions, options ...RequestOptionFunc) (*GoogleChatIntegration, *Response, error)
// DisableProjectGoogleChat disables the Google Chat integration for a project.
// Integration settings are reset.
//
// GitLab API docs:
// https://docs.gitlab.com/api/integrations.html#disable-google-chat
DisableProjectGoogleChat(pid any, options ...RequestOptionFunc) (*Response, error)
// GetProjectGoogleChatSettings gets the Google Chat integration settings for a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/integrations.html#get-google-chat-settings
GetProjectGoogleChatSettings(pid any, options ...RequestOptionFunc) (*GoogleChatIntegration, *Response, error)
// GetGroupMattermostIntegration retrieves the Mattermost integration for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#mattermost-notifications
GetGroupMattermostIntegration(gid any, options ...RequestOptionFunc) (*GroupMattermostIntegration, *Response, error)
// SetGroupMattermostIntegration creates or updates the Mattermost integration for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#mattermost-notifications
SetGroupMattermostIntegration(gid any, opt *GroupMattermostIntegrationOptions, options ...RequestOptionFunc) (*GroupMattermostIntegration, *Response, error)
// DeleteGroupMattermostIntegration removes the Mattermost integration from a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#mattermost-notifications
DeleteGroupMattermostIntegration(gid any, options ...RequestOptionFunc) (*Response, error)
// GetGroupMattermostSlashCommandsIntegration retrieves the Mattermost slash commands integration for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#mattermost-slash-commands
GetGroupMattermostSlashCommandsIntegration(gid any, options ...RequestOptionFunc) (*GroupMattermostSlashCommandsIntegration, *Response, error)
// SetGroupMattermostSlashCommandsIntegration creates or updates the Mattermost slash commands integration for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#mattermost-slash-commands
SetGroupMattermostSlashCommandsIntegration(gid any, opt *GroupMattermostSlashCommandsIntegrationOptions, options ...RequestOptionFunc) (*GroupMattermostSlashCommandsIntegration, *Response, error)
// DeleteGroupMattermostSlashCommandsIntegration removes the Mattermost slash commands integration from a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#mattermost-slash-commands
DeleteGroupMattermostSlashCommandsIntegration(gid any, options ...RequestOptionFunc) (*Response, error)
// GetGroupWebexTeamsSettings gets the Webex Teams integration for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#get-webex-teams-settings
GetGroupWebexTeamsSettings(gid any, options ...RequestOptionFunc) (*WebexTeamsIntegration, *Response, error)
// SetGroupWebexTeamsSettings sets up the Webex Teams integration for a group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#set-up-webex-teams
SetGroupWebexTeamsSettings(gid any, opt *SetGroupWebexTeamsOptions, options ...RequestOptionFunc) (*WebexTeamsIntegration, *Response, error)
// DisableGroupWebexTeams disables the Webex Teams integration for a group.
// Integration settings are reset.
//
// GitLab API docs:
// https://docs.gitlab.com/api/group_integrations/#disable-webex-teams
DisableGroupWebexTeams(gid any, options ...RequestOptionFunc) (*Response, error)
}
type Interceptor ¶
type Interceptor func(next http.RoundTripper) http.RoundTripper
Interceptor is used to build a *http.Client request pipeline,
It receives the next RoundTripper in the chain and returns a new one that will be used for the request.
This next RoundTripper might or might not be the actual transporter, which actually does the request call, but it is safe to assume that calling the next will result in the expected HTTP call.
Example:
// Simple logger interceptor.
logger := func(next http.RoundTripper) http.RoundTripper {
return roundtripperFunc(func(req *http.Request) (*http.Response, error) {
fmt.Printf("Request: %s %s\n", req.Method, req.URL)
resp, err := next.RoundTrip(req)
if err == nil {
fmt.Printf("Response status: %d\n", resp.StatusCode)
}
return resp, err
})
}
The Interceptor type lets you add such middlewares to a client by chaining them.
type InvitesOptions ¶
type InvitesOptions struct {
ID any `url:"id,omitempty" json:"id,omitempty"`
Email *string `url:"email,omitempty" json:"email,omitempty"`
UserID any `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"`
}
InvitesOptions represents the available GroupInvites() and ProjectInvites() options.
GitLab API docs: https://docs.gitlab.com/api/invitations/#add-a-member-to-a-group-or-project
type InvitesResult ¶
type InvitesResult struct {
Status string `json:"status"`
Message map[string]string `json:"message,omitempty"`
}
InvitesResult represents an invitations result.
GitLab API docs: https://docs.gitlab.com/api/invitations/#add-a-member-to-a-group-or-project
type InvitesService ¶
type InvitesService struct {
// contains filtered or unexported fields
}
InvitesService handles communication with the invitation related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/invitations/
func (*InvitesService) GroupInvites ¶
func (s *InvitesService) GroupInvites(gid any, opt *InvitesOptions, options ...RequestOptionFunc) (*InvitesResult, *Response, error)
GroupInvites invites new users by email to join a group.
GitLab API docs: https://docs.gitlab.com/api/invitations/#add-a-member-to-a-group-or-project
func (*InvitesService) ListPendingGroupInvitations ¶
func (s *InvitesService) ListPendingGroupInvitations(gid any, opt *ListPendingInvitationsOptions, options ...RequestOptionFunc) ([]*PendingInvite, *Response, error)
ListPendingGroupInvitations gets a list of invited group members.
GitLab API docs: https://docs.gitlab.com/api/invitations/#list-all-invitations-pending-for-a-group-or-project
func (*InvitesService) ListPendingProjectInvitations ¶
func (s *InvitesService) ListPendingProjectInvitations(pid any, opt *ListPendingInvitationsOptions, options ...RequestOptionFunc) ([]*PendingInvite, *Response, error)
ListPendingProjectInvitations gets a list of invited project members.
GitLab API docs: https://docs.gitlab.com/api/invitations/#list-all-invitations-pending-for-a-group-or-project
func (*InvitesService) ProjectInvites ¶
func (s *InvitesService) ProjectInvites(pid any, opt *InvitesOptions, options ...RequestOptionFunc) (*InvitesResult, *Response, error)
ProjectInvites invites new users by email to join a project.
GitLab API docs: https://docs.gitlab.com/api/invitations/#add-a-member-to-a-group-or-project
type InvitesServiceInterface ¶
type InvitesServiceInterface interface {
ListPendingGroupInvitations(gid any, opt *ListPendingInvitationsOptions, options ...RequestOptionFunc) ([]*PendingInvite, *Response, error)
ListPendingProjectInvitations(pid any, opt *ListPendingInvitationsOptions, options ...RequestOptionFunc) ([]*PendingInvite, *Response, error)
GroupInvites(gid any, opt *InvitesOptions, options ...RequestOptionFunc) (*InvitesResult, *Response, error)
ProjectInvites(pid any, opt *InvitesOptions, options ...RequestOptionFunc) (*InvitesResult, *Response, error)
}
type Issue ¶
type Issue struct {
ID int64 `json:"id"`
IID int64 `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 int64 `json:"project_id"`
Assignees []*IssueAssignee `json:"assignees"`
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 int64 `json:"moved_to_id"`
Labels Labels `json:"labels"`
LabelDetails []*LabelDetails `json:"label_details"`
Upvotes int64 `json:"upvotes"`
Downvotes int64 `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 int64 `json:"weight"`
DiscussionLocked bool `json:"discussion_locked"`
IssueType *string `json:"issue_type,omitempty"`
Subscribed bool `json:"subscribed"`
UserNotesCount int64 `json:"user_notes_count"`
Links *IssueLinks `json:"_links"`
IssueLinkID int64 `json:"issue_link_id"`
MergeRequestCount int64 `json:"merge_requests_count"`
EpicIssueID int64 `json:"epic_issue_id"`
Epic *Epic `json:"epic"`
Iteration *GroupIteration `json:"iteration"`
TaskCompletionStatus *TasksCompletionStatus `json:"task_completion_status"`
ServiceDeskReplyTo string `json:"service_desk_reply_to"`
// Deprecated: use Assignees instead
Assignee *IssueAssignee `json:"assignee"`
}
Issue represents a GitLab issue.
GitLab API docs: https://docs.gitlab.com/api/issues/
func (*Issue) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface.
type IssueAssignee ¶
type IssueAssignee struct {
ID int64 `json:"id"`
State string `json:"state"`
WebURL string `json:"web_url"`
Name string `json:"name"`
AvatarURL string `json:"avatar_url"`
Username string `json:"username"`
}
IssueAssignee represents a assignee of the issue.
type IssueAuthor ¶
type IssueAuthor struct {
ID int64 `json:"id"`
State string `json:"state"`
WebURL string `json:"web_url"`
Name string `json:"name"`
AvatarURL string `json:"avatar_url"`
Username string `json:"username"`
}
IssueAuthor represents a author of the issue.
type IssueBoard ¶
type IssueBoard struct {
ID int64 `json:"id"`
Name string `json:"name"`
Project *Project `json:"project"`
Milestone *Milestone `json:"milestone"`
Assignee *BasicUser `json:"assignee"`
Lists []*BoardList `json:"lists"`
Weight int64 `json:"weight"`
Labels []*LabelDetails `json:"labels"`
HideBacklogList bool `json:"hide_backlog_list"`
HideClosedList bool `json:"hide_closed_list"`
}
IssueBoard represents a GitLab issue board.
GitLab API docs: https://docs.gitlab.com/api/boards/
func (IssueBoard) String ¶
func (b IssueBoard) String() string
type IssueBoardsService ¶
type IssueBoardsService struct {
// contains filtered or unexported fields
}
IssueBoardsService handles communication with the issue board related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/boards/
func (*IssueBoardsService) CreateIssueBoard ¶
func (s *IssueBoardsService) CreateIssueBoard(pid any, opt *CreateIssueBoardOptions, options ...RequestOptionFunc) (*IssueBoard, *Response, error)
func (*IssueBoardsService) CreateIssueBoardList ¶
func (s *IssueBoardsService) CreateIssueBoardList(pid any, board int64, opt *CreateIssueBoardListOptions, options ...RequestOptionFunc) (*BoardList, *Response, error)
func (*IssueBoardsService) DeleteIssueBoard ¶
func (s *IssueBoardsService) DeleteIssueBoard(pid any, board int64, options ...RequestOptionFunc) (*Response, error)
func (*IssueBoardsService) DeleteIssueBoardList ¶
func (s *IssueBoardsService) DeleteIssueBoardList(pid any, board, list int64, options ...RequestOptionFunc) (*Response, error)
func (*IssueBoardsService) GetIssueBoard ¶
func (s *IssueBoardsService) GetIssueBoard(pid any, board int64, options ...RequestOptionFunc) (*IssueBoard, *Response, error)
func (*IssueBoardsService) GetIssueBoardList ¶
func (s *IssueBoardsService) GetIssueBoardList(pid any, board, list int64, options ...RequestOptionFunc) (*BoardList, *Response, error)
func (*IssueBoardsService) GetIssueBoardLists ¶
func (s *IssueBoardsService) GetIssueBoardLists(pid any, board int64, opt *GetIssueBoardListsOptions, options ...RequestOptionFunc) ([]*BoardList, *Response, error)
func (*IssueBoardsService) ListIssueBoards ¶
func (s *IssueBoardsService) ListIssueBoards(pid any, opt *ListIssueBoardsOptions, options ...RequestOptionFunc) ([]*IssueBoard, *Response, error)
func (*IssueBoardsService) UpdateIssueBoard ¶
func (s *IssueBoardsService) UpdateIssueBoard(pid any, board int64, opt *UpdateIssueBoardOptions, options ...RequestOptionFunc) (*IssueBoard, *Response, error)
func (*IssueBoardsService) UpdateIssueBoardList ¶
func (s *IssueBoardsService) UpdateIssueBoardList(pid any, board, list int64, opt *UpdateIssueBoardListOptions, options ...RequestOptionFunc) (*BoardList, *Response, error)
type IssueBoardsServiceInterface ¶
type IssueBoardsServiceInterface interface {
// CreateIssueBoard creates a new issue board.
//
// GitLab API docs:
// https://docs.gitlab.com/api/boards/#create-an-issue-board
// CreateIssueBoard creates a new issue board.
//
// GitLab API docs:
// https://docs.gitlab.com/api/boards/#create-an-issue-board
CreateIssueBoard(pid any, opt *CreateIssueBoardOptions, options ...RequestOptionFunc) (*IssueBoard, *Response, error)
// UpdateIssueBoard update an issue board.
//
// GitLab API docs:
// https://docs.gitlab.com/api/boards/#update-an-issue-board
UpdateIssueBoard(pid any, board int64, opt *UpdateIssueBoardOptions, options ...RequestOptionFunc) (*IssueBoard, *Response, error)
// DeleteIssueBoard deletes an issue board.
//
// GitLab API docs:
// https://docs.gitlab.com/api/boards/#delete-an-issue-board
DeleteIssueBoard(pid any, board int64, options ...RequestOptionFunc) (*Response, error)
// ListIssueBoards gets a list of all issue boards in a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/boards/#list-project-issue-boards
ListIssueBoards(pid any, opt *ListIssueBoardsOptions, options ...RequestOptionFunc) ([]*IssueBoard, *Response, error)
// GetIssueBoard gets a single issue board of a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/boards/#show-a-single-issue-board
GetIssueBoard(pid any, board int64, options ...RequestOptionFunc) (*IssueBoard, *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/api/boards/#list-board-lists-in-a-project-issue-board
GetIssueBoardLists(pid any, board int64, opt *GetIssueBoardListsOptions, options ...RequestOptionFunc) ([]*BoardList, *Response, error)
// GetIssueBoardList gets a single issue board list.
//
// GitLab API docs:
// https://docs.gitlab.com/api/boards/#show-a-single-board-list
GetIssueBoardList(pid any, board, list int64, options ...RequestOptionFunc) (*BoardList, *Response, error)
// CreateIssueBoardList creates a new issue board list.
//
// GitLab API docs:
// https://docs.gitlab.com/api/boards/#create-a-board-list
CreateIssueBoardList(pid any, board int64, opt *CreateIssueBoardListOptions, options ...RequestOptionFunc) (*BoardList, *Response, error)
// UpdateIssueBoardList updates the position of an existing issue board list.
//
// GitLab API docs:
// https://docs.gitlab.com/api/boards/#reorder-a-list-in-a-board
UpdateIssueBoardList(pid any, board, list int64, opt *UpdateIssueBoardListOptions, options ...RequestOptionFunc) (*BoardList, *Response, error)
// DeleteIssueBoardList soft deletes an issue board list. Only for admins and
// project owners.
//
// GitLab API docs:
// https://docs.gitlab.com/api/boards/#delete-a-board-list-from-a-board
DeleteIssueBoardList(pid any, board, list int64, options ...RequestOptionFunc) (*Response, error)
}
type IssueCloser ¶
type IssueCloser struct {
ID int64 `json:"id"`
State string `json:"state"`
WebURL string `json:"web_url"`
Name string `json:"name"`
AvatarURL string `json:"avatar_url"`
Username string `json:"username"`
}
IssueCloser represents a closer of the issue.
type IssueCommentEvent ¶
type IssueCommentEvent struct {
ObjectKind string `json:"object_kind"`
EventType string `json:"event_type"`
User *User `json:"user"`
ProjectID int64 `json:"project_id"`
Project IssueCommentEventProject `json:"project"`
Repository *Repository `json:"repository"`
ObjectAttributes IssueCommentEventObjectAttributes `json:"object_attributes"`
Issue IssueCommentEventIssue `json:"issue"`
}
IssueCommentEvent represents a comment on an issue event.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#comment-on-an-issue
type IssueCommentEventIssue ¶
type IssueCommentEventIssue struct {
ID int64 `json:"id"`
IID int64 `json:"iid"`
ProjectID int64 `json:"project_id"`
MilestoneID int64 `json:"milestone_id"`
AuthorID int64 `json:"author_id"`
Position int64 `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 int64 `json:"last_edited_by_id"`
UpdatedAt string `json:"updated_at"`
UpdatedByID int64 `json:"updated_by_id"`
CreatedAt string `json:"created_at"`
ClosedAt string `json:"closed_at"`
DueDate *ISOTime `json:"due_date"`
URL string `json:"url"`
TimeEstimate int64 `json:"time_estimate"`
Confidential bool `json:"confidential"`
TotalTimeSpent int64 `json:"total_time_spent"`
HumanTotalTimeSpent string `json:"human_total_time_spent"`
HumanTimeEstimate string `json:"human_time_estimate"`
AssigneeIDs []int64 `json:"assignee_ids"`
AssigneeID int64 `json:"assignee_id"`
}
type IssueCommentEventObjectAttributes ¶
type IssueCommentEventObjectAttributes struct {
ID int64 `json:"id"`
Note string `json:"note"`
NoteableType string `json:"noteable_type"`
AuthorID int64 `json:"author_id"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
ProjectID int64 `json:"project_id"`
Attachment string `json:"attachment"`
LineCode string `json:"line_code"`
CommitID string `json:"commit_id"`
DiscussionID string `json:"discussion_id"`
NoteableID int64 `json:"noteable_id"`
System bool `json:"system"`
StDiff []*Diff `json:"st_diff"`
Description string `json:"description"`
Action CommentEventAction `json:"action"`
URL string `json:"url"`
}
type IssueCommentEventProject ¶
type IssueCommentEventProject 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"`
}
type IssueEvent ¶
type IssueEvent struct {
ObjectKind string `json:"object_kind"`
EventType string `json:"event_type"`
User *EventUser `json:"user"`
Project IssueEventProject `json:"project"`
Repository *Repository `json:"repository"`
ObjectAttributes IssueEventObjectAttributes `json:"object_attributes"`
Assignee *EventUser `json:"assignee"`
Assignees *[]EventUser `json:"assignees"`
Labels []*EventLabel `json:"labels"`
Changes IssueEventChanges `json:"changes"`
}
IssueEvent represents a issue event.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#work-item-events
type IssueEventChanges ¶
type IssueEventChanges struct {
Assignees EventChangesAssignees `json:"assignees"`
Description EventChangesDescription `json:"description"`
Labels EventChangesLabels `json:"labels"`
Title EventChangesTitle `json:"title"`
ClosedAt IssueEventChangesClosedAt `json:"closed_at"`
StateID EventChangesStateID `json:"state_id"`
UpdatedAt EventChangesUpdatedAt `json:"updated_at"`
UpdatedByID EventChangesUpdatedByID `json:"updated_by_id"`
TotalTimeSpent IssueEventChangesTotalTimeSpent `json:"total_time_spent"`
}
type IssueEventObjectAttributes ¶
type IssueEventObjectAttributes struct {
ID int64 `json:"id"`
Title string `json:"title"`
AssigneeIDs []int64 `json:"assignee_ids"`
AssigneeID int64 `json:"assignee_id"`
AuthorID int64 `json:"author_id"`
ProjectID int64 `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 int64 `json:"updated_by_id"`
LastEditedAt string `json:"last_edited_at"`
LastEditedByID int64 `json:"last_edited_by_id"`
RelativePosition int64 `json:"relative_position"`
BranchName string `json:"branch_name"`
Description string `json:"description"`
MilestoneID int64 `json:"milestone_id"`
StateID StateID `json:"state_id"`
Confidential bool `json:"confidential"`
DiscussionLocked bool `json:"discussion_locked"`
DueDate *ISOTime `json:"due_date"`
MovedToID int64 `json:"moved_to_id"`
DuplicatedToID int64 `json:"duplicated_to_id"`
TimeEstimate int64 `json:"time_estimate"`
TotalTimeSpent int64 `json:"total_time_spent"`
TimeChange int64 `json:"time_change"`
HumanTotalTimeSpent string `json:"human_total_time_spent"`
HumanTimeEstimate string `json:"human_time_estimate"`
HumanTimeChange string `json:"human_time_change"`
Weight int64 `json:"weight"`
IID int64 `json:"iid"`
URL string `json:"url"`
State string `json:"state"`
Action string `json:"action"`
Severity string `json:"severity"`
EscalationStatus string `json:"escalation_status"`
EscalationPolicy IssueEventObjectAttributesEscalationPolicy `json:"escalation_policy"`
Labels []*EventLabel `json:"labels"`
}
type IssueEventProject ¶
type IssueEventProject struct {
ID int64 `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"`
}
type IssueLink ¶
type IssueLink struct {
ID int64 `json:"id"`
SourceIssue *Issue `json:"source_issue"`
TargetIssue *Issue `json:"target_issue"`
LinkType string `json:"link_type"`
}
IssueLink represents a two-way relation between two issues.
GitLab API docs: https://docs.gitlab.com/api/issue_links/
type IssueLinks ¶
type IssueLinks struct {
Self string `json:"self"`
Notes string `json:"notes"`
AwardEmoji string `json:"award_emoji"`
Project string `json:"project"`
}
IssueLinks represents links of the issue.
type IssueLinksService ¶
type IssueLinksService struct {
// contains filtered or unexported fields
}
IssueLinksService handles communication with the issue relations related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/issue_links/
func (*IssueLinksService) CreateIssueLink ¶
func (s *IssueLinksService) CreateIssueLink(pid any, issue int64, 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/api/issue_links/#create-an-issue-link
func (*IssueLinksService) DeleteIssueLink ¶
func (s *IssueLinksService) DeleteIssueLink(pid any, issue, issueLink int64, options ...RequestOptionFunc) (*IssueLink, *Response, error)
DeleteIssueLink deletes an issue link, thus removes the two-way relationship.
GitLab API docs: https://docs.gitlab.com/api/issue_links/#delete-an-issue-link
func (*IssueLinksService) GetIssueLink ¶
func (s *IssueLinksService) GetIssueLink(pid any, issue, issueLink int64, options ...RequestOptionFunc) (*IssueLink, *Response, error)
GetIssueLink gets a specific issue link.
GitLab API docs: https://docs.gitlab.com/api/issue_links/#get-an-issue-link
func (*IssueLinksService) ListIssueRelations ¶
func (s *IssueLinksService) ListIssueRelations(pid any, issue int64, 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/api/issue_links/#list-issue-relations
type IssueLinksServiceInterface ¶
type IssueLinksServiceInterface interface {
ListIssueRelations(pid any, issue int64, options ...RequestOptionFunc) ([]*IssueRelation, *Response, error)
GetIssueLink(pid any, issue, issueLink int64, options ...RequestOptionFunc) (*IssueLink, *Response, error)
CreateIssueLink(pid any, issue int64, opt *CreateIssueLinkOptions, options ...RequestOptionFunc) (*IssueLink, *Response, error)
DeleteIssueLink(pid any, issue, issueLink int64, options ...RequestOptionFunc) (*IssueLink, *Response, error)
}
type IssueReferences ¶
type IssueReferences struct {
Short string `json:"short"`
Relative string `json:"relative"`
Full string `json:"full"`
}
IssueReferences represents references of the issue.
type IssueRelation ¶
type IssueRelation struct {
ID int64 `json:"id"`
IID int64 `json:"iid"`
State string `json:"state"`
Description string `json:"description"`
Confidential bool `json:"confidential"`
Author *IssueAuthor `json:"author"`
Milestone *Milestone `json:"milestone"`
ProjectID int64 `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 int64 `json:"weight"`
UserNotesCount int64 `json:"user_notes_count"`
IssueLinkID int64 `json:"issue_link_id"`
LinkType string `json:"link_type"`
LinkCreatedAt *time.Time `json:"link_created_at"`
LinkUpdatedAt *time.Time `json:"link_updated_at"`
}
IssueRelation gets a relation between two issues.
GitLab API docs: https://docs.gitlab.com/api/issue_links/#list-issue-relations
type IssuesCount ¶
type IssuesCount struct {
IssuesCount int64 `url:"issues_count" json:"issues_count"`
}
IssuesCount represents the total count of recently created issues in a group.
GitLab API docs: https://docs.gitlab.com/api/group_activity_analytics/#get-count-of-recently-created-issues-for-group
type IssuesService ¶
type IssuesService struct {
// contains filtered or unexported fields
}
IssuesService handles communication with the issue related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/issues/
func (*IssuesService) AddSpentTime ¶
func (s *IssuesService) AddSpentTime(pid any, issue int64, opt *AddSpentTimeOptions, options ...RequestOptionFunc) (*TimeStats, *Response, error)
AddSpentTime adds spent time for a single project issue.
GitLab API docs: https://docs.gitlab.com/api/issues/#add-spent-time-for-an-issue
func (*IssuesService) CreateIssue ¶
func (s *IssuesService) CreateIssue(pid any, opt *CreateIssueOptions, options ...RequestOptionFunc) (*Issue, *Response, error)
CreateIssue creates a new project issue.
GitLab API docs: https://docs.gitlab.com/api/issues/#new-issue
func (*IssuesService) CreateTodo ¶
func (s *IssuesService) CreateTodo(pid any, issue int64, 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/api/issues/#create-a-to-do-item
func (*IssuesService) DeleteIssue ¶
func (s *IssuesService) DeleteIssue(pid any, issue int64, options ...RequestOptionFunc) (*Response, error)
DeleteIssue deletes a single project issue.
GitLab API docs: https://docs.gitlab.com/api/issues/#delete-an-issue
func (*IssuesService) GetIssue ¶
func (s *IssuesService) GetIssue(pid any, issue int64, options ...RequestOptionFunc) (*Issue, *Response, error)
GetIssue gets a single project issue.
GitLab API docs: https://docs.gitlab.com/api/issues/#single-project-issue
func (*IssuesService) GetIssueByID ¶
func (s *IssuesService) GetIssueByID(issue int64, options ...RequestOptionFunc) (*Issue, *Response, error)
GetIssueByID gets a single issue.
GitLab API docs: https://docs.gitlab.com/api/issues/#single-issue
func (*IssuesService) GetParticipants ¶
func (s *IssuesService) GetParticipants(pid any, issue int64, options ...RequestOptionFunc) ([]*BasicUser, *Response, error)
GetParticipants gets a list of issue participants.
GitLab API docs: https://docs.gitlab.com/api/issues/#list-participants-in-an-issue
func (*IssuesService) GetTimeSpent ¶
func (s *IssuesService) GetTimeSpent(pid any, issue int64, options ...RequestOptionFunc) (*TimeStats, *Response, error)
GetTimeSpent gets the spent time for a single project issue.
GitLab API docs: https://docs.gitlab.com/api/issues/#get-time-tracking-stats
func (*IssuesService) ListGroupIssues ¶
func (s *IssuesService) ListGroupIssues(pid any, 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/api/issues/#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/api/issues/#list-issues
func (*IssuesService) ListMergeRequestsClosingIssue ¶
func (s *IssuesService) ListMergeRequestsClosingIssue(pid any, issue int64, opt *ListMergeRequestsClosingIssueOptions, options ...RequestOptionFunc) ([]*BasicMergeRequest, *Response, error)
ListMergeRequestsClosingIssue gets all the merge requests that will close issue when merged.
GitLab API docs: https://docs.gitlab.com/api/issues/#list-merge-requests-that-close-a-particular-issue-on-merge
func (*IssuesService) ListMergeRequestsRelatedToIssue ¶
func (s *IssuesService) ListMergeRequestsRelatedToIssue(pid any, issue int64, opt *ListMergeRequestsRelatedToIssueOptions, options ...RequestOptionFunc) ([]*BasicMergeRequest, *Response, error)
ListMergeRequestsRelatedToIssue gets all the merge requests that are related to the issue
GitLab API docs: https://docs.gitlab.com/api/issues/#list-merge-requests-related-to-issue
func (*IssuesService) ListProjectIssues ¶
func (s *IssuesService) ListProjectIssues(pid any, 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/api/issues/#list-project-issues
func (*IssuesService) MoveIssue ¶
func (s *IssuesService) MoveIssue(pid any, issue int64, 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/api/issues/#move-an-issue
func (*IssuesService) ReorderIssue ¶
func (s *IssuesService) ReorderIssue(pid any, issue int64, opt *ReorderIssueOptions, options ...RequestOptionFunc) (*Issue, *Response, error)
ReorderIssue reorders an issue.
GitLab API docs: https://docs.gitlab.com/api/issues/#reorder-an-issue
func (*IssuesService) ResetSpentTime ¶
func (s *IssuesService) ResetSpentTime(pid any, issue int64, options ...RequestOptionFunc) (*TimeStats, *Response, error)
ResetSpentTime resets the spent time for a single project issue.
GitLab API docs: https://docs.gitlab.com/api/issues/#reset-spent-time-for-an-issue
func (*IssuesService) ResetTimeEstimate ¶
func (s *IssuesService) ResetTimeEstimate(pid any, issue int64, options ...RequestOptionFunc) (*TimeStats, *Response, error)
ResetTimeEstimate resets the time estimate for a single project issue.
GitLab API docs: https://docs.gitlab.com/api/issues/#reset-the-time-estimate-for-an-issue
func (*IssuesService) SetTimeEstimate ¶
func (s *IssuesService) SetTimeEstimate(pid any, issue int64, opt *SetTimeEstimateOptions, options ...RequestOptionFunc) (*TimeStats, *Response, error)
SetTimeEstimate sets the time estimate for a single project issue.
GitLab API docs: https://docs.gitlab.com/api/issues/#set-a-time-estimate-for-an-issue
func (*IssuesService) SubscribeToIssue ¶
func (s *IssuesService) SubscribeToIssue(pid any, issue int64, 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/api/issues/#subscribe-to-an-issue
func (*IssuesService) UnsubscribeFromIssue ¶
func (s *IssuesService) UnsubscribeFromIssue(pid any, issue int64, 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/api/issues/#unsubscribe-from-an-issue
func (*IssuesService) UpdateIssue ¶
func (s *IssuesService) UpdateIssue(pid any, issue int64, 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/api/issues/#edit-an-issue
type IssuesServiceInterface ¶
type IssuesServiceInterface interface {
ListIssues(opt *ListIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
ListGroupIssues(pid any, opt *ListGroupIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
ListProjectIssues(pid any, opt *ListProjectIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
GetIssueByID(issue int64, options ...RequestOptionFunc) (*Issue, *Response, error)
GetIssue(pid any, issue int64, options ...RequestOptionFunc) (*Issue, *Response, error)
CreateIssue(pid any, opt *CreateIssueOptions, options ...RequestOptionFunc) (*Issue, *Response, error)
UpdateIssue(pid any, issue int64, opt *UpdateIssueOptions, options ...RequestOptionFunc) (*Issue, *Response, error)
DeleteIssue(pid any, issue int64, options ...RequestOptionFunc) (*Response, error)
ReorderIssue(pid any, issue int64, opt *ReorderIssueOptions, options ...RequestOptionFunc) (*Issue, *Response, error)
MoveIssue(pid any, issue int64, opt *MoveIssueOptions, options ...RequestOptionFunc) (*Issue, *Response, error)
SubscribeToIssue(pid any, issue int64, options ...RequestOptionFunc) (*Issue, *Response, error)
UnsubscribeFromIssue(pid any, issue int64, options ...RequestOptionFunc) (*Issue, *Response, error)
CreateTodo(pid any, issue int64, options ...RequestOptionFunc) (*Todo, *Response, error)
ListMergeRequestsClosingIssue(pid any, issue int64, opt *ListMergeRequestsClosingIssueOptions, options ...RequestOptionFunc) ([]*BasicMergeRequest, *Response, error)
ListMergeRequestsRelatedToIssue(pid any, issue int64, opt *ListMergeRequestsRelatedToIssueOptions, options ...RequestOptionFunc) ([]*BasicMergeRequest, *Response, error)
SetTimeEstimate(pid any, issue int64, opt *SetTimeEstimateOptions, options ...RequestOptionFunc) (*TimeStats, *Response, error)
ResetTimeEstimate(pid any, issue int64, options ...RequestOptionFunc) (*TimeStats, *Response, error)
AddSpentTime(pid any, issue int64, opt *AddSpentTimeOptions, options ...RequestOptionFunc) (*TimeStats, *Response, error)
ResetSpentTime(pid any, issue int64, options ...RequestOptionFunc) (*TimeStats, *Response, error)
GetTimeSpent(pid any, issue int64, options ...RequestOptionFunc) (*TimeStats, *Response, error)
GetParticipants(pid any, issue int64, options ...RequestOptionFunc) ([]*BasicUser, *Response, error)
}
type IssuesStatistics ¶
type IssuesStatistics struct {
Statistics IssuesStatisticsStatistics `json:"statistics"`
}
IssuesStatistics represents a GitLab issues statistic.
GitLab API docs: https://docs.gitlab.com/api/issues_statistics/
func (IssuesStatistics) String ¶
func (n IssuesStatistics) String() string
type IssuesStatisticsCounts ¶
type IssuesStatisticsCounts struct {
All int64 `json:"all"`
Closed int64 `json:"closed"`
Opened int64 `json:"opened"`
}
IssuesStatisticsCounts represents a GitLab issues statistic counts.
GitLab API docs: https://docs.gitlab.com/api/issues_statistics/
type IssuesStatisticsService ¶
type IssuesStatisticsService struct {
// contains filtered or unexported fields
}
IssuesStatisticsService handles communication with the issues statistics related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/issues_statistics/
func (*IssuesStatisticsService) GetGroupIssuesStatistics ¶
func (s *IssuesStatisticsService) GetGroupIssuesStatistics(gid any, opt *GetGroupIssuesStatisticsOptions, options ...RequestOptionFunc) (*IssuesStatistics, *Response, error)
func (*IssuesStatisticsService) GetIssuesStatistics ¶
func (s *IssuesStatisticsService) GetIssuesStatistics(opt *GetIssuesStatisticsOptions, options ...RequestOptionFunc) (*IssuesStatistics, *Response, error)
func (*IssuesStatisticsService) GetProjectIssuesStatistics ¶
func (s *IssuesStatisticsService) GetProjectIssuesStatistics(pid any, opt *GetProjectIssuesStatisticsOptions, options ...RequestOptionFunc) (*IssuesStatistics, *Response, error)
type IssuesStatisticsServiceInterface ¶
type IssuesStatisticsServiceInterface interface {
// GetIssuesStatistics gets issues statistics on all issues the authenticated
// user has access to.
//
// GitLab API docs:
// https://docs.gitlab.com/api/issues_statistics/#get-issues-statistics
GetIssuesStatistics(opt *GetIssuesStatisticsOptions, options ...RequestOptionFunc) (*IssuesStatistics, *Response, error)
// GetGroupIssuesStatistics gets issues count statistics for given group.
//
// GitLab API docs:
// https://docs.gitlab.com/api/issues_statistics/#get-group-issues-statistics
GetGroupIssuesStatistics(gid any, opt *GetGroupIssuesStatisticsOptions, options ...RequestOptionFunc) (*IssuesStatistics, *Response, error)
// GetProjectIssuesStatistics gets issues count statistics for given project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/issues_statistics/#get-project-issues-statistics
GetProjectIssuesStatistics(pid any, opt *GetProjectIssuesStatisticsOptions, options ...RequestOptionFunc) (*IssuesStatistics, *Response, error)
}
type IssuesStatisticsStatistics ¶
type IssuesStatisticsStatistics struct {
Counts IssuesStatisticsCounts `json:"counts"`
}
IssuesStatisticsStatistics represents a GitLab issues statistic statistics.
GitLab API docs: https://docs.gitlab.com/api/issues_statistics/
type Iteration ¶
type Iteration struct {
ID int64 `json:"id"`
IID int64 `json:"iid"`
Sequence int64 `json:"sequence"`
GroupID int64 `json:"group_id"`
Title string `json:"title"`
Description string `json:"description"`
State int64 `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"`
}
Iteration represents a project issue iteration.
GitLab API docs: https://docs.gitlab.com/api/resource_iteration_events/
type IterationEvent ¶
type IterationEvent struct {
ID int64 `json:"id"`
User *BasicUser `json:"user"`
CreatedAt *time.Time `json:"created_at"`
ResourceType string `json:"resource_type"`
ResourceID int64 `json:"resource_id"`
Iteration *Iteration `json:"iteration"`
Action string `json:"action"`
}
IterationEvent represents a resource iteration event.
GitLab API docs: https://docs.gitlab.com/api/resource_iteration_events/
type JenkinsCIService ¶
type JenkinsCIService struct {
Service
Properties *JenkinsCIServiceProperties `json:"properties"`
}
JenkinsCIService represents Jenkins CI service settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#jenkins
type JenkinsCIServiceProperties ¶
type JenkinsCIServiceProperties struct {
URL string `json:"jenkins_url"`
EnableSSLVerification bool `json:"enable_ssl_verification"`
ProjectName string `json:"project_name"`
Username string `json:"username"`
}
JenkinsCIServiceProperties represents Jenkins CI specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#jenkins
type JiraIntegration ¶
type JiraIntegration struct {
Integration
Properties JiraIntegrationProperties `json:"properties"`
}
JiraIntegration represents the Jira integration settings. It embeds the generic Integration struct and adds Jira-specific properties.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#get-jira-settings
type JiraIntegrationProperties ¶
type JiraIntegrationProperties struct {
URL string `json:"url"`
APIURL *string `json:"api_url"`
JiraAuthType int64 `json:"jira_auth_type"`
Username string `json:"username"`
JiraIssueRegex *string `json:"jira_issue_regex"`
JiraIssuePrefix *string `json:"jira_issue_prefix"`
JiraIssueTransitionID *string `json:"jira_issue_transition_id"`
IssuesEnabled bool `json:"issues_enabled"`
ProjectKeys []string `json:"project_keys"`
}
JiraIntegrationProperties represents Jira specific properties returned by the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#get-jira-settings
type JiraService ¶
type JiraService struct {
Service
Properties *JiraServiceProperties `json:"properties"`
}
JiraService represents Jira service settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#jira-issues
type JiraServiceProperties ¶
type JiraServiceProperties struct {
URL string `json:"url"`
APIURL string `json:"api_url"`
Username string `json:"username" `
Password string `json:"password" `
Active bool `json:"active"`
JiraAuthType int64 `json:"jira_auth_type"`
JiraIssuePrefix string `json:"jira_issue_prefix"`
JiraIssueRegex string `json:"jira_issue_regex"`
JiraIssueTransitionAutomatic bool `json:"jira_issue_transition_automatic"`
JiraIssueTransitionID string `json:"jira_issue_transition_id"`
CommitEvents bool `json:"commit_events"`
MergeRequestsEvents bool `json:"merge_requests_events"`
CommentOnEventEnabled bool `json:"comment_on_event_enabled"`
IssuesEnabled bool `json:"issues_enabled"`
ProjectKeys []string `json:"project_keys" `
UseInheritedSettings bool `json:"use_inherited_settings"`
}
JiraServiceProperties represents Jira specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#jira-issues
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 ¶
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 int64 `json:"id"`
Name string `json:"name"`
Pipeline JobPipeline `json:"pipeline"`
Ref string `json:"ref"`
Artifacts []JobArtifact `json:"artifacts"`
ArtifactsFile JobArtifactsFile `json:"artifacts_file"`
Runner JobRunner `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"`
}
Job represents a ci build.
GitLab API docs: https://docs.gitlab.com/api/jobs/
type JobArtifact ¶
type JobArtifact struct {
FileType string `json:"file_type"`
Filename string `json:"filename"`
Size int64 `json:"size"`
FileFormat string `json:"file_format"`
}
JobArtifact represents a ci build artifact.
GitLab API docs: https://docs.gitlab.com/api/jobs/
type JobArtifactsFile ¶
JobArtifactsFile represents a ci build artifacts file.
GitLab API docs: https://docs.gitlab.com/api/jobs/
type JobEvent ¶
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 int64 `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 int64 `json:"retries_count"`
PipelineID int64 `json:"pipeline_id"`
ProjectID int64 `json:"project_id"`
ProjectName string `json:"project_name"`
User *EventUser `json:"user"`
Commit JobEventCommit `json:"commit"`
Repository *Repository `json:"repository"`
Runner JobEventRunner `json:"runner"`
Environment EventEnvironment `json:"environment"`
SourcePipeline EventSourcePipeline `json:"source_pipeline"`
}
JobEvent represents a job event.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#job-events
type JobEventCommit ¶
type JobEventCommit struct {
ID int64 `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 int64 `json:"duration"`
StartedAt string `json:"started_at"`
FinishedAt string `json:"finished_at"`
}
type JobEventRunner ¶
type JobPipeline ¶
type JobPipeline struct {
ID int64 `json:"id"`
ProjectID int64 `json:"project_id"`
Ref string `json:"ref"`
Sha string `json:"sha"`
Status string `json:"status"`
}
JobPipeline represents a ci build pipeline.
GitLab API docs: https://docs.gitlab.com/api/jobs/
type JobRunner ¶
type JobRunner struct {
ID int64 `json:"id"`
Description string `json:"description"`
Active bool `json:"active"`
Name string `json:"name"`
}
JobRunner represents a ci build runner.
GitLab API docs: https://docs.gitlab.com/api/jobs/
type JobStats ¶
type JobStats struct {
Jobs JobStatsJobs `json:"jobs"`
}
JobStats represents the GitLab sidekiq job stats.
GitLab API docs: https://docs.gitlab.com/api/sidekiq_metrics/#get-the-current-job-statistics
type JobStatsJobs ¶
type JobStatsJobs struct {
Processed int64 `json:"processed"`
Failed int64 `json:"failed"`
Enqueued int64 `json:"enqueued"`
}
JobStatsJobs represents the GitLab sidekiq job stats jobs.
GitLab API docs: https://docs.gitlab.com/api/sidekiq_metrics/#get-the-current-job-statistics
type JobTokenAccessSettings ¶
type JobTokenAccessSettings struct {
InboundEnabled bool `json:"inbound_enabled"`
}
JobTokenAccessSettings represents job token access attributes for this project.
GitLab API docs: https://docs.gitlab.com/api/project_job_token_scopes/
type JobTokenAllowlistItem ¶
type JobTokenAllowlistItem struct {
SourceProjectID int64 `json:"source_project_id"`
TargetGroupID int64 `json:"target_group_id"`
}
JobTokenAllowlistItem represents a single job token allowlist item.
GitLab API docs: https://docs.gitlab.com/api/project_job_token_scopes/
type JobTokenAuthSource ¶
type JobTokenAuthSource struct {
Token string
}
JobTokenAuthSource used as an AuthSource for CI Job Tokens
type JobTokenInboundAllowItem ¶
type JobTokenInboundAllowItem struct {
SourceProjectID int64 `json:"source_project_id"`
TargetProjectID int64 `json:"target_project_id"`
}
JobTokenInboundAllowItem represents a single job token inbound allowlist item.
GitLab API docs: https://docs.gitlab.com/api/project_job_token_scopes/
type JobTokenInboundAllowOptions ¶
type JobTokenInboundAllowOptions struct {
TargetProjectID *int64 `url:"target_project_id,omitempty" json:"target_project_id,omitempty"`
}
JobTokenInboundAllowOptions represents the available AddProjectToJobScopeAllowList() options.
GitLab API docs: https://docs.gitlab.com/api/project_job_token_scopes/#add-a-project-to-a-cicd-job-token-inbound-allowlist
type JobTokenScopeService ¶
type JobTokenScopeService struct {
// contains filtered or unexported fields
}
JobTokenScopeService handles communication with project CI settings such as token permissions.
GitLab API docs: https://docs.gitlab.com/api/project_job_token_scopes/
func (*JobTokenScopeService) AddGroupToJobTokenAllowlist ¶
func (j *JobTokenScopeService) AddGroupToJobTokenAllowlist(pid any, opt *AddGroupToJobTokenAllowlistOptions, options ...RequestOptionFunc) (*JobTokenAllowlistItem, *Response, error)
AddGroupToJobTokenAllowlist adds a new group to a project's job token inbound groups allow list.
GitLab API docs: https://docs.gitlab.com/api/project_job_token_scopes/#add-a-group-to-a-cicd-job-token-allowlist
func (*JobTokenScopeService) AddProjectToJobScopeAllowList ¶
func (j *JobTokenScopeService) AddProjectToJobScopeAllowList(pid any, 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/api/project_job_token_scopes/#add-a-project-to-a-cicd-job-token-inbound-allowlist
func (*JobTokenScopeService) GetJobTokenAllowlistGroups ¶
func (j *JobTokenScopeService) GetJobTokenAllowlistGroups(pid any, 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/api/project_job_token_scopes/#get-a-projects-cicd-job-token-allowlist-of-groups
func (*JobTokenScopeService) GetProjectJobTokenAccessSettings ¶
func (j *JobTokenScopeService) GetProjectJobTokenAccessSettings(pid any, 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/api/project_job_token_scopes/#get-a-projects-cicd-job-token-access-settings
func (*JobTokenScopeService) GetProjectJobTokenInboundAllowList ¶
func (j *JobTokenScopeService) GetProjectJobTokenInboundAllowList(pid any, 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/api/project_job_token_scopes/#get-a-projects-cicd-job-token-inbound-allowlist
func (*JobTokenScopeService) PatchProjectJobTokenAccessSettings ¶
func (j *JobTokenScopeService) PatchProjectJobTokenAccessSettings(pid any, 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/api/project_job_token_scopes/#patch-a-projects-cicd-job-token-access-settings
func (*JobTokenScopeService) RemoveGroupFromJobTokenAllowlist ¶
func (j *JobTokenScopeService) RemoveGroupFromJobTokenAllowlist(pid any, targetGroup int64, options ...RequestOptionFunc) (*Response, error)
RemoveGroupFromJobTokenAllowlist removes a group from a project's job token inbound groups allow list.
GitLab API docs: https://docs.gitlab.com/api/project_job_token_scopes/#remove-a-group-from-a-cicd-job-token-allowlist
func (*JobTokenScopeService) RemoveProjectFromJobScopeAllowList ¶
func (j *JobTokenScopeService) RemoveProjectFromJobScopeAllowList(pid any, targetProject int64, options ...RequestOptionFunc) (*Response, error)
RemoveProjectFromJobScopeAllowList removes a project from a project's job token inbound allow list.
GitLab API docs: https://docs.gitlab.com/api/project_job_token_scopes/#remove-a-project-from-a-cicd-job-token-inbound-allowlist
type JobTokenScopeServiceInterface ¶
type JobTokenScopeServiceInterface interface {
GetProjectJobTokenAccessSettings(pid any, options ...RequestOptionFunc) (*JobTokenAccessSettings, *Response, error)
PatchProjectJobTokenAccessSettings(pid any, opt *PatchProjectJobTokenAccessSettingsOptions, options ...RequestOptionFunc) (*Response, error)
GetProjectJobTokenInboundAllowList(pid any, opt *GetJobTokenInboundAllowListOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
AddProjectToJobScopeAllowList(pid any, opt *JobTokenInboundAllowOptions, options ...RequestOptionFunc) (*JobTokenInboundAllowItem, *Response, error)
RemoveProjectFromJobScopeAllowList(pid any, targetProject int64, options ...RequestOptionFunc) (*Response, error)
GetJobTokenAllowlistGroups(pid any, opt *GetJobTokenAllowlistGroupsOptions, options ...RequestOptionFunc) ([]*Group, *Response, error)
AddGroupToJobTokenAllowlist(pid any, opt *AddGroupToJobTokenAllowlistOptions, options ...RequestOptionFunc) (*JobTokenAllowlistItem, *Response, error)
RemoveGroupFromJobTokenAllowlist(pid any, targetGroup int64, options ...RequestOptionFunc) (*Response, error)
}
type JobVariableOptions ¶
type JobVariableOptions struct {
Key *string `url:"key,omitempty" json:"key,omitempty"`
Value *string `url:"value,omitempty" json:"value,omitempty"`
VariableType *VariableTypeValue `url:"variable_type,omitempty" json:"variable_type,omitempty"`
}
JobVariableOptions represents a single job variable.
GitLab API docs: https://docs.gitlab.com/api/jobs/#run-a-job
type JobsService ¶
type JobsService struct {
// contains filtered or unexported fields
}
JobsService handles communication with the ci builds related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/jobs/
func (*JobsService) CancelJob ¶
func (s *JobsService) CancelJob(pid any, jobID int64, options ...RequestOptionFunc) (*Job, *Response, error)
func (*JobsService) DeleteArtifacts ¶
func (s *JobsService) DeleteArtifacts(pid any, jobID int64, options ...RequestOptionFunc) (*Response, error)
func (*JobsService) DeleteProjectArtifacts ¶
func (s *JobsService) DeleteProjectArtifacts(pid any, options ...RequestOptionFunc) (*Response, error)
func (*JobsService) DownloadArtifactsFile ¶
func (s *JobsService) DownloadArtifactsFile(pid any, refName string, opt *DownloadArtifactsFileOptions, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
func (*JobsService) DownloadSingleArtifactsFile ¶
func (s *JobsService) DownloadSingleArtifactsFile(pid any, jobID int64, artifactPath string, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
func (*JobsService) DownloadSingleArtifactsFileByTagOrBranch ¶
func (s *JobsService) DownloadSingleArtifactsFileByTagOrBranch(pid any, refName string, artifactPath string, opt *DownloadArtifactsFileOptions, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
func (*JobsService) EraseJob ¶
func (s *JobsService) EraseJob(pid any, jobID int64, options ...RequestOptionFunc) (*Job, *Response, error)
func (*JobsService) GetJob ¶
func (s *JobsService) GetJob(pid any, jobID int64, options ...RequestOptionFunc) (*Job, *Response, error)
func (*JobsService) GetJobArtifacts ¶
func (s *JobsService) GetJobArtifacts(pid any, jobID int64, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
func (*JobsService) GetJobTokensJob ¶
func (s *JobsService) GetJobTokensJob(opts *GetJobTokensJobOptions, options ...RequestOptionFunc) (*Job, *Response, error)
func (*JobsService) GetTraceFile ¶
func (s *JobsService) GetTraceFile(pid any, jobID int64, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
func (*JobsService) KeepArtifacts ¶
func (s *JobsService) KeepArtifacts(pid any, jobID int64, options ...RequestOptionFunc) (*Job, *Response, error)
func (*JobsService) ListPipelineBridges ¶
func (s *JobsService) ListPipelineBridges(pid any, pipelineID int64, opts *ListJobsOptions, options ...RequestOptionFunc) ([]*Bridge, *Response, error)
func (*JobsService) ListPipelineJobs ¶
func (s *JobsService) ListPipelineJobs(pid any, pipelineID int64, opts *ListJobsOptions, options ...RequestOptionFunc) ([]*Job, *Response, error)
func (*JobsService) ListProjectJobs ¶
func (s *JobsService) ListProjectJobs(pid any, opts *ListJobsOptions, options ...RequestOptionFunc) ([]*Job, *Response, error)
func (*JobsService) PlayJob ¶
func (s *JobsService) PlayJob(pid any, jobID int64, opt *PlayJobOptions, options ...RequestOptionFunc) (*Job, *Response, error)
func (*JobsService) RetryJob ¶
func (s *JobsService) RetryJob(pid any, jobID int64, options ...RequestOptionFunc) (*Job, *Response, error)
type JobsServiceInterface ¶
type JobsServiceInterface interface {
// 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/api/jobs/#list-project-jobs
ListProjectJobs(pid any, 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/api/jobs/#list-pipeline-jobs
ListPipelineJobs(pid any, pipelineID int64, opts *ListJobsOptions, options ...RequestOptionFunc) ([]*Job, *Response, error)
// ListPipelineBridges gets a list of bridges for specific pipeline in a
// project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/jobs/#list-pipeline-trigger-jobs
ListPipelineBridges(pid any, pipelineID int64, opts *ListJobsOptions, options ...RequestOptionFunc) ([]*Bridge, *Response, error)
// GetJobTokensJob retrieves the job that generated a job token.
//
// GitLab API docs: https://docs.gitlab.com/api/jobs/#get-job-tokens-job
GetJobTokensJob(opts *GetJobTokensJobOptions, options ...RequestOptionFunc) (*Job, *Response, error)
// GetJob gets a single job of a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/jobs/#get-a-single-job
GetJob(pid any, jobID int64, options ...RequestOptionFunc) (*Job, *Response, error)
// GetJobArtifacts gets jobs artifacts of a project
//
// GitLab API docs:
// https://docs.gitlab.com/api/job_artifacts/#get-job-artifacts
GetJobArtifacts(pid any, jobID int64, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
// DownloadArtifactsFile downloads the artifacts file from the given
// reference name and job provided the job finished successfully.
//
// GitLab API docs:
// https://docs.gitlab.com/api/job_artifacts/#download-the-artifacts-archive
DownloadArtifactsFile(pid any, refName string, opt *DownloadArtifactsFileOptions, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
// DownloadSingleArtifactsFile downloads 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/api/job_artifacts/#download-a-single-artifact-file-by-job-id
DownloadSingleArtifactsFile(pid any, jobID int64, artifactPath string, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
// DownloadSingleArtifactsFileByTagOrBranch downloads a single file from
// a job's artifacts in the latest successful pipeline using the reference name.
// The file is extracted from the archive and streamed to the client.
//
// GitLab API docs:
// https://docs.gitlab.com/api/job_artifacts/#download-a-single-artifact-file-from-specific-tag-or-branch
DownloadSingleArtifactsFileByTagOrBranch(pid any, refName string, artifactPath string, opt *DownloadArtifactsFileOptions, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
// GetTraceFile gets a trace of a specific job of a project
//
// GitLab API docs:
// https://docs.gitlab.com/api/jobs/#get-a-log-file
GetTraceFile(pid any, jobID int64, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
// CancelJob cancels a single job of a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/jobs/#cancel-a-job
CancelJob(pid any, jobID int64, options ...RequestOptionFunc) (*Job, *Response, error)
// RetryJob retries a single job of a project
//
// GitLab API docs:
// https://docs.gitlab.com/api/jobs/#retry-a-job
RetryJob(pid any, jobID int64, 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/api/jobs/#erase-a-job
EraseJob(pid any, jobID int64, options ...RequestOptionFunc) (*Job, *Response, error)
// KeepArtifacts prevents artifacts from being deleted when
// expiration is set.
//
// GitLab API docs:
// https://docs.gitlab.com/api/job_artifacts/#keep-artifacts
KeepArtifacts(pid any, jobID int64, options ...RequestOptionFunc) (*Job, *Response, error)
// PlayJob triggers a manual action to start a job.
//
// GitLab API docs:
// https://docs.gitlab.com/api/jobs/#run-a-job
PlayJob(pid any, jobID int64, opt *PlayJobOptions, options ...RequestOptionFunc) (*Job, *Response, error)
// DeleteArtifacts deletes artifacts of a job
//
// GitLab API docs:
// https://docs.gitlab.com/api/job_artifacts/#delete-job-artifacts
DeleteArtifacts(pid any, jobID int64, options ...RequestOptionFunc) (*Response, error)
// DeleteProjectArtifacts deletes artifacts eligible for deletion in a project
//
// GitLab API docs:
// https://docs.gitlab.com/api/job_artifacts/#delete-job-artifacts
DeleteProjectArtifacts(pid any, options ...RequestOptionFunc) (*Response, error)
}
type Key ¶
type Key struct {
ID int64 `json:"id"`
Title string `json:"title"`
Key string `json:"key"`
CreatedAt *time.Time `json:"created_at"`
User User `json:"user"`
}
Key represents a GitLab user's SSH key.
GitLab API docs: https://docs.gitlab.com/api/keys/
type KeySystemEvent ¶
type KeySystemEvent struct {
BaseSystemEvent
ID int64 `json:"id"`
Username string `json:"username"`
Key string `json:"key"`
}
KeySystemEvent represents a key system event.
GitLab API docs: https://docs.gitlab.com/administration/system_hooks/
type KeysService ¶
type KeysService struct {
// contains filtered or unexported fields
}
KeysService handles communication with the keys related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/keys/
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/api/keys/#get-user-by-fingerprint-of-ssh-key https://docs.gitlab.com/api/keys/#get-user-by-deploy-key-fingerprint
func (*KeysService) GetKeyWithUser ¶
func (s *KeysService) GetKeyWithUser(key int64, 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/api/keys/#get-ssh-key-with-user-by-id-of-an-ssh-key
type KeysServiceInterface ¶
type KeysServiceInterface interface {
GetKeyWithUser(key int64, options ...RequestOptionFunc) (*Key, *Response, error)
GetKeyByFingerprint(opt *GetKeyByFingerprintOptions, options ...RequestOptionFunc) (*Key, *Response, error)
}
type LDAPGroupLink ¶
type LDAPGroupLink struct {
CN string `json:"cn"`
Filter string `json:"filter"`
GroupAccess AccessLevelValue `json:"group_access"`
Provider string `json:"provider"`
MemberRoleID int64 `json:"member_role_id"`
}
LDAPGroupLink represents a GitLab LDAP group link.
GitLab API docs: https://docs.gitlab.com/api/group_ldap_links/
type Label ¶
type Label struct {
ID int64 `json:"id"`
Name string `json:"name"`
Color string `json:"color"`
TextColor string `json:"text_color"`
Description string `json:"description"`
OpenIssuesCount int64 `json:"open_issues_count"`
ClosedIssuesCount int64 `json:"closed_issues_count"`
OpenMergeRequestsCount int64 `json:"open_merge_requests_count"`
Subscribed bool `json:"subscribed"`
Priority Nullable[int64] `json:"priority"`
IsProjectLabel bool `json:"is_project_label"`
}
Label represents a GitLab label.
GitLab API docs: https://docs.gitlab.com/api/labels/
func (*Label) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface.
type LabelDetails ¶
type LabelDetails struct {
ID int64 `json:"id"`
Name string `json:"name"`
Color string `json:"color"`
Description string `json:"description"`
DescriptionHTML string `json:"description_html"`
TextColor string `json:"text_color"`
}
LabelDetails represents detailed label information.
type LabelEvent ¶
type LabelEvent struct {
ID int64 `json:"id"`
Action string `json:"action"`
CreatedAt *time.Time `json:"created_at"`
ResourceType string `json:"resource_type"`
ResourceID int64 `json:"resource_id"`
User BasicUser `json:"user"`
Label LabelEventLabel `json:"label"`
}
LabelEvent represents a resource label event.
GitLab API docs: https://docs.gitlab.com/api/resource_label_events/#get-single-issue-label-event
type LabelEventLabel ¶
type LabelEventLabel struct {
ID int64 `json:"id"`
Name string `json:"name"`
Color string `json:"color"`
TextColor string `json:"text_color"`
Description string `json:"description"`
}
LabelEventLabel represents a resource label event label.
GitLab API docs: https://docs.gitlab.com/api/resource_label_events/#get-single-issue-label-event
type LabelOptions ¶
type LabelOptions []string
LabelOptions is a custom type with specific marshaling characteristics.
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 LabelsService ¶
type LabelsService struct {
// contains filtered or unexported fields
}
LabelsService handles communication with the label related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/labels/
func (*LabelsService) CreateLabel ¶
func (s *LabelsService) CreateLabel(pid any, 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/api/labels/#create-a-new-label
func (*LabelsService) DeleteLabel ¶
func (s *LabelsService) DeleteLabel(pid any, lid any, opt *DeleteLabelOptions, options ...RequestOptionFunc) (*Response, error)
DeleteLabel deletes a label given by its name or ID.
GitLab API docs: https://docs.gitlab.com/api/labels/#delete-a-label
func (*LabelsService) GetLabel ¶
func (s *LabelsService) GetLabel(pid any, lid any, options ...RequestOptionFunc) (*Label, *Response, error)
GetLabel get a single label for a given project.
GitLab API docs: https://docs.gitlab.com/api/labels/#get-a-single-project-label
func (*LabelsService) ListLabels ¶
func (s *LabelsService) ListLabels(pid any, opt *ListLabelsOptions, options ...RequestOptionFunc) ([]*Label, *Response, error)
ListLabels gets all labels for given project.
GitLab API docs: https://docs.gitlab.com/api/labels/#list-labels
func (*LabelsService) PromoteLabel ¶
func (s *LabelsService) PromoteLabel(pid any, lid any, options ...RequestOptionFunc) (*Response, error)
PromoteLabel Promotes a project label to a group label.
GitLab API docs: https://docs.gitlab.com/api/labels/#promote-a-project-label-to-a-group-label
func (*LabelsService) SubscribeToLabel ¶
func (s *LabelsService) SubscribeToLabel(pid any, lid any, 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/api/labels/#subscribe-to-a-label
func (*LabelsService) UnsubscribeFromLabel ¶
func (s *LabelsService) UnsubscribeFromLabel(pid any, lid any, 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/api/labels/#unsubscribe-from-a-label
func (*LabelsService) UpdateLabel ¶
func (s *LabelsService) UpdateLabel(pid any, lid any, opt *UpdateLabelOptions, options ...RequestOptionFunc) (*Label, *Response, error)
UpdateLabel updates an existing label with new name or new color. At least one parameter is required, to update the label.
GitLab API docs: https://docs.gitlab.com/api/labels/#edit-an-existing-label
type LabelsServiceInterface ¶
type LabelsServiceInterface interface {
ListLabels(pid any, opt *ListLabelsOptions, options ...RequestOptionFunc) ([]*Label, *Response, error)
GetLabel(pid any, lid any, options ...RequestOptionFunc) (*Label, *Response, error)
CreateLabel(pid any, opt *CreateLabelOptions, options ...RequestOptionFunc) (*Label, *Response, error)
DeleteLabel(pid any, lid any, opt *DeleteLabelOptions, options ...RequestOptionFunc) (*Response, error)
UpdateLabel(pid any, lid any, opt *UpdateLabelOptions, options ...RequestOptionFunc) (*Label, *Response, error)
SubscribeToLabel(pid any, lid any, options ...RequestOptionFunc) (*Label, *Response, error)
UnsubscribeFromLabel(pid any, lid any, options ...RequestOptionFunc) (*Response, error)
PromoteLabel(pid any, lid any, options ...RequestOptionFunc) (*Response, error)
}
type LastPipeline ¶
type LastPipeline struct {
ID int64 `json:"id"`
SHA string `json:"sha"`
Ref string `json:"ref"`
Status string `json:"status"`
WebURL string `json:"web_url"`
}
LastPipeline represents the last pipeline ran by schedule this will be returned only for individual schedule get operation
type License ¶
type License struct {
ID int64 `json:"id"`
Plan string `json:"plan"`
CreatedAt *time.Time `json:"created_at"`
StartsAt *ISOTime `json:"starts_at"`
ExpiresAt *ISOTime `json:"expires_at"`
HistoricalMax int64 `json:"historical_max"`
MaximumUserCount int64 `json:"maximum_user_count"`
Expired bool `json:"expired"`
Overage int64 `json:"overage"`
UserLimit int64 `json:"user_limit"`
ActiveUsers int64 `json:"active_users"`
Licensee LicenseLicensee `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 LicenseAddOns `json:"add_ons"`
}
License represents a GitLab license.
GitLab API docs: https://docs.gitlab.com/api/license/
type LicenseAddOns ¶
type LicenseAddOns struct {
GitLabAuditorUser int64 `json:"GitLab_Auditor_User"`
GitLabDeployBoard int64 `json:"GitLab_DeployBoard"`
GitLabFileLocks int64 `json:"GitLab_FileLocks"`
GitLabGeo int64 `json:"GitLab_Geo"`
GitLabServiceDesk int64 `json:"GitLab_ServiceDesk"`
}
LicenseAddOns represents a GitLab license add ons.
GitLab API docs: https://docs.gitlab.com/api/license/
func (LicenseAddOns) String ¶
func (a LicenseAddOns) String() string
type LicenseLicensee ¶
type LicenseLicensee struct {
Name string `json:"Name"`
Company string `json:"Company"`
Email string `json:"Email"`
}
LicenseLicensee represents a GitLab license licensee.
GitLab API docs: https://docs.gitlab.com/api/license/
func (LicenseLicensee) String ¶
func (l LicenseLicensee) String() string
type LicenseService ¶
type LicenseService struct {
// contains filtered or unexported fields
}
LicenseService handles communication with the license related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/license/
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/api/license/#add-a-new-license
func (*LicenseService) DeleteLicense ¶
func (s *LicenseService) DeleteLicense(licenseID int64, options ...RequestOptionFunc) (*Response, error)
DeleteLicense deletes an existing license.
GitLab API docs: https://docs.gitlab.com/api/license/#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/api/license/#retrieve-information-about-the-current-license
type LicenseServiceInterface ¶
type LicenseServiceInterface interface {
GetLicense(options ...RequestOptionFunc) (*License, *Response, error)
AddLicense(opt *AddLicenseOptions, options ...RequestOptionFunc) (*License, *Response, error)
DeleteLicense(licenseID int64, options ...RequestOptionFunc) (*Response, error)
}
type LicenseTemplate ¶
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"`
}
LicenseTemplate represents a license template.
GitLab API docs: https://docs.gitlab.com/api/templates/licenses/
type LicenseTemplatesService ¶
type LicenseTemplatesService struct {
// contains filtered or unexported fields
}
LicenseTemplatesService handles communication with the license templates related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/templates/licenses/
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/api/templates/licenses/#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/api/templates/licenses/#list-license-templates
type LicenseTemplatesServiceInterface ¶
type LicenseTemplatesServiceInterface interface {
ListLicenseTemplates(opt *ListLicenseTemplatesOptions, options ...RequestOptionFunc) ([]*LicenseTemplate, *Response, error)
GetLicenseTemplate(template string, opt *GetLicenseTemplateOptions, options ...RequestOptionFunc) (*LicenseTemplate, *Response, error)
}
type LinePosition ¶
type LinePosition struct {
LineCode string `json:"line_code"`
Type string `json:"type"`
OldLine int64 `json:"old_line"`
NewLine int64 `json:"new_line"`
}
LinePosition represents a position in a line range.
type LinePositionOptions ¶
type LinePositionOptions struct {
LineCode *string `url:"line_code,omitempty" json:"line_code,omitempty"`
Type *string `url:"type,omitempty" json:"type,omitempty"`
OldLine *int64 `url:"old_line,omitempty" json:"old_line,omitempty"`
NewLine *int64 `url:"new_line,omitempty" json:"new_line,omitempty"`
}
LinePositionOptions represents the line position option of a discussion.
type LineRange ¶
type LineRange struct {
StartRange *LinePosition `json:"start"`
EndRange *LinePosition `json:"end"`
}
LineRange represents the range of a note.
type LineRangeOptions ¶
type LineRangeOptions struct {
Start *LinePositionOptions `url:"start,omitempty" json:"start,omitempty"`
End *LinePositionOptions `url:"end,omitempty" json:"end,omitempty"`
}
LineRangeOptions represents the line range option of a discussion.
type LinkTypeValue ¶
type LinkTypeValue string
LinkTypeValue represents a release link type.
const ( ImageLinkType LinkTypeValue = "image" OtherLinkType LinkTypeValue = "other" PackageLinkType LinkTypeValue = "package" RunbookLinkType LinkTypeValue = "runbook" )
List of available release link types.
GitLab API docs: https://docs.gitlab.com/api/releases/links/#create-a-release-link
type LinkedWorkItem ¶
type LinkedWorkItem struct {
WorkItemIID
// LinkType is the type of relationship between the work items.
// Possible values: blocks, is_blocked_by, relates_to
LinkType string
}
LinkedWorkItem represents a linked work item with its relationship type.
Experimental: The Work Items API is a work in progress and may introduce breaking changes even between minor versions.
type Links ¶
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"`
}
Links represents a project web links for self, issues, merge_requests, repo_branches, labels, events, members.
type LintResult ¶
type LintResult struct {
Status string `json:"status"`
Errors []string `json:"errors"`
Warnings []string `json:"warnings"`
MergedYaml string `json:"merged_yaml"`
}
LintResult represents the linting results.
GitLab API docs: https://docs.gitlab.com/api/lint/
type ListAccessRequestsOptions ¶
type ListAccessRequestsOptions struct {
ListOptions
}
ListAccessRequestsOptions represents the available ListProjectAccessRequests() or ListGroupAccessRequests() options.
GitLab API docs: https://docs.gitlab.com/api/access_requests/#list-access-requests-for-a-group-or-project
type ListActiveIntegrationsOptions ¶
type ListActiveIntegrationsOptions struct {
ListOptions
}
ListActiveIntegrationsOptions represents the available ListActiveIntegrations() options.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#list-all-active-integrations
type ListAgentTokensOptions ¶
type ListAgentTokensOptions struct {
ListOptions
}
ListAgentTokensOptions represents the available ListAgentTokens() options.
GitLab API docs: https://docs.gitlab.com/api/cluster_agents/#list-tokens-for-an-agent
type ListAgentsOptions ¶
type ListAgentsOptions struct {
ListOptions
}
ListAgentsOptions represents the available ListAgents() options.
GitLab API docs: https://docs.gitlab.com/api/cluster_agents/#list-the-agents-for-a-project
type ListAllSnippetsOptions ¶
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"`
}
ListAllSnippetsOptions represents the available ListAllSnippets() options.
GitLab API docs: https://docs.gitlab.com/api/snippets/#list-all-snippets
type ListApplicationsOptions ¶
type ListApplicationsOptions struct {
ListOptions
}
ListApplicationsOptions represents the available ListApplications() options.
type ListAuditEventsOptions ¶
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"`
}
ListAuditEventsOptions represents the available ListProjectAuditEvents(), ListGroupAuditEvents() or ListInstanceAuditEvents() options.
GitLab API docs: https://docs.gitlab.com/api/audit_events/
type ListAwardEmojiOptions ¶
type ListAwardEmojiOptions struct {
ListOptions
}
ListAwardEmojiOptions represents the available options for listing emoji for each resource
GitLab API docs: https://docs.gitlab.com/api/emoji_reactions/
type ListBillableGroupMembersOptions ¶
type ListBillableGroupMembersOptions struct {
ListOptions
Search *string `url:"search,omitempty" json:"search,omitempty"`
Sort *string `url:"sort,omitempty" json:"sort,omitempty"`
}
ListBillableGroupMembersOptions represents the available ListBillableGroupMembers() options.
GitLab API docs: https://docs.gitlab.com/api/members/#list-all-billable-members-of-a-group
type ListBranchesOptions ¶
type ListBranchesOptions struct {
ListOptions
Search *string `url:"search,omitempty" json:"search,omitempty"`
Regex *string `url:"regex,omitempty" json:"regex,omitempty"`
}
ListBranchesOptions represents the available ListBranches() options.
GitLab API docs: https://docs.gitlab.com/api/branches/#list-repository-branches
type ListBroadcastMessagesOptions ¶
type ListBroadcastMessagesOptions struct {
ListOptions
}
ListBroadcastMessagesOptions represents the available ListBroadcastMessages() options.
GitLab API docs: https://docs.gitlab.com/api/broadcast_messages/#get-all-broadcast-messages
type ListCIYMLTemplatesOptions ¶
type ListCIYMLTemplatesOptions struct {
ListOptions
}
ListCIYMLTemplatesOptions represents the available ListAllTemplates() options.
GitLab API docs: https://docs.gitlab.com/api/templates/gitlab_ci_ymls/#list-gitlab-ci-yaml-templates
type ListClientKeysOptions ¶
type ListClientKeysOptions struct {
ListOptions
}
ListClientKeysOptions represents the available ListClientKeys() options.
GitLab API docs: https://docs.gitlab.com/api/error_tracking/#list-project-client-keys
type ListCommitDiscussionsOptions ¶
type ListCommitDiscussionsOptions struct {
ListOptions
}
ListCommitDiscussionsOptions represents the available ListCommitDiscussions() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#list-project-commit-discussion-items
type ListCommitsOptions ¶
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"`
}
ListCommitsOptions represents the available ListCommits() options.
GitLab API docs: https://docs.gitlab.com/api/commits/#list-repository-commits
type ListContributionEventsOptions ¶
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"`
Scope *string `url:"scope,omitempty" json:"scope,omitempty"`
}
ListContributionEventsOptions represents the options for GetUserContributionEvents
GitLab API docs: https://docs.gitlab.com/api/events/#get-user-contribution-events
type ListContributorsOptions ¶
type ListContributorsOptions struct {
ListOptions
OrderBy *string `url:"order_by,omitempty" json:"order_by,omitempty"`
Sort *string `url:"sort,omitempty" json:"sort,omitempty"`
}
ListContributorsOptions represents the available ListContributors() options.
GitLab API docs: https://docs.gitlab.com/api/repositories/#contributors
type ListDescendantGroupsOptions ¶
type ListDescendantGroupsOptions ListGroupsOptions
ListDescendantGroupsOptions represents the available ListDescendantGroups() options.
GitLab API docs: https://docs.gitlab.com/api/groups/#list-descendant-groups
type ListDockerfileTemplatesOptions ¶
type ListDockerfileTemplatesOptions struct {
ListOptions
}
ListDockerfileTemplatesOptions represents the available ListAllTemplates() options.
GitLab API docs: https://docs.gitlab.com/api/templates/dockerfiles/#list-dockerfile-templates
type ListDraftNotesOptions ¶
type ListDraftNotesOptions struct {
ListOptions
OrderBy *string `url:"order_by,omitempty" json:"order_by,omitempty"`
Sort *string `url:"sort,omitempty" json:"sort,omitempty"`
}
ListDraftNotesOptions represents the available ListDraftNotes() options.
GitLab API docs: https://docs.gitlab.com/api/draft_notes/#list-all-merge-request-draft-notes
type ListEmailsForUserOptions ¶
type ListEmailsForUserOptions struct {
ListOptions
}
ListEmailsForUserOptions represents the available ListEmailsForUser() options.
GitLab API docs: https://docs.gitlab.com/api/user_email_addresses/#list-all-email-addresses-for-a-user
type ListEnterpriseUsersOptions ¶
type ListEnterpriseUsersOptions 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"`
TwoFactor string `url:"two_factor,omitempty" json:"two_factor,omitempty"`
}
ListEnterpriseUsersOptions represents the available ListEnterpriseUsers() options.
GitLab API docs: https://docs.gitlab.com/api/group_enterprise_users/#list-all-enterprise-users
type ListEnvironmentsOptions ¶
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"`
}
ListEnvironmentsOptions represents the available ListEnvironments() options.
GitLab API docs: https://docs.gitlab.com/api/environments/#list-environments
type ListEpicNotesOptions ¶
type ListEpicNotesOptions struct {
ListOptions
OrderBy *string `url:"order_by,omitempty" json:"order_by,omitempty"`
Sort *string `url:"sort,omitempty" json:"sort,omitempty"`
}
ListEpicNotesOptions represents the available ListEpicNotes() options. Will be removed in v5 of the API, use Work Items API instead
GitLab API docs: https://docs.gitlab.com/api/notes/#list-all-epic-notes
type ListFeatureFlagUserListsOptions ¶
type ListFeatureFlagUserListsOptions struct {
ListOptions
Search string `url:"search,omitempty" json:"search,omitempty"`
}
ListFeatureFlagUserListsOptions represents the available ListFeatureFlagUserLists() options.
GitLab API docs: https://docs.gitlab.com/api/feature_flag_user_lists/#list-all-feature-flag-user-lists-for-a-project
type ListFreezePeriodsOptions ¶
type ListFreezePeriodsOptions struct {
ListOptions
}
ListFreezePeriodsOptions represents the available ListFreezePeriodsOptions() options.
GitLab API docs: https://docs.gitlab.com/api/freeze_periods/#list-freeze-periods
type ListGeoNodesOptions ¶
type ListGeoNodesOptions struct {
ListOptions
}
ListGeoNodesOptions represents the available ListGeoNodes() options. Deprecated: will be removed in v5 of the API, use Geo Sites API instead
GitLab API docs: https://docs.gitlab.com/api/geo_nodes/#retrieve-configuration-about-all-geo-nodes
type ListGeoSitesOptions ¶
type ListGeoSitesOptions struct {
ListOptions
}
ListGeoSitesOptions represents the available ListGeoSites() options.
GitLab API docs: https://docs.gitlab.com/api/geo_sites/#list-all-geo-sites
type ListGroupAccessTokensOptions ¶
type ListGroupAccessTokensOptions struct {
ListOptions
CreatedAfter *ISOTime `url:"created_after,omitempty" json:"created_after,omitempty"`
CreatedBefore *ISOTime `url:"created_before,omitempty" json:"created_before,omitempty"`
LastUsedAfter *ISOTime `url:"last_used_after,omitempty" json:"last_used_after,omitempty"`
LastUsedBefore *ISOTime `url:"last_used_before,omitempty" json:"last_used_before,omitempty"`
Revoked *bool `url:"revoked,omitempty" json:"revoked,omitempty"`
Search *string `url:"search,omitempty" json:"search,omitempty"`
State *AccessTokenState `url:"state,omitempty" json:"state,omitempty"`
ExpiresAfter *ISOTime `url:"expires_after,omitempty" json:"expires_after,omitempty"`
ExpiresBefore *ISOTime `url:"expires_before,omitempty" json:"expires_before,omitempty"`
Sort *AccessTokenSort `url:"sort,omitempty" json:"sort,omitempty"`
}
ListGroupAccessTokensOptions represents the available options for listing access tokens in a group.
GitLab API docs: https://docs.gitlab.com/api/group_access_tokens/#list-all-group-access-tokens
type ListGroupBadgesOptions ¶
type ListGroupBadgesOptions struct {
ListOptions
Name *string `url:"name,omitempty" json:"name,omitempty"`
}
ListGroupBadgesOptions represents the available ListGroupBadges() options.
GitLab API docs: https://docs.gitlab.com/api/group_badges/#list-all-badges-of-a-group
type ListGroupDeployTokensOptions ¶
type ListGroupDeployTokensOptions struct {
ListOptions
}
ListGroupDeployTokensOptions represents the available ListGroupDeployTokens() options.
GitLab API docs: https://docs.gitlab.com/api/deploy_tokens/#list-group-deploy-tokens
type ListGroupEpicBoardsOptions ¶
type ListGroupEpicBoardsOptions struct {
ListOptions
}
ListGroupEpicBoardsOptions represents the available ListGroupEpicBoards() options.
GitLab API docs: https://docs.gitlab.com/api/group_epic_boards/#list-all-epic-boards-in-a-group
type ListGroupEpicDiscussionsOptions ¶
type ListGroupEpicDiscussionsOptions struct {
ListOptions
}
ListGroupEpicDiscussionsOptions represents the available ListEpicDiscussions() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#list-group-epic-discussion-items
type ListGroupEpicsOptions ¶
type ListGroupEpicsOptions struct {
ListOptions
AuthorID *int64 `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"`
}
ListGroupEpicsOptions represents the available ListGroupEpics() options. Will be removed in v5 of the API, use Work Items API instead
GitLab API docs: https://docs.gitlab.com/api/epics/#list-epics-for-a-group
type ListGroupHooksOptions ¶
type ListGroupHooksOptions struct {
ListOptions
}
ListGroupHooksOptions represents the available ListGroupHooks() options.
GitLab API docs: https://docs.gitlab.com/api/group_webhooks/#list-group-hooks
type ListGroupIssueBoardListsOptions ¶
type ListGroupIssueBoardListsOptions struct {
ListOptions
}
ListGroupIssueBoardListsOptions represents the available ListGroupIssueBoardLists() options.
GitLab API docs: https://docs.gitlab.com/api/group_boards/#list-group-issue-board-lists
type ListGroupIssueBoardsOptions ¶
type ListGroupIssueBoardsOptions struct {
ListOptions
}
ListGroupIssueBoardsOptions represents the available ListGroupIssueBoards() options.
GitLab API docs: https://docs.gitlab.com/api/group_boards/#list-all-group-issue-boards-in-a-group
type ListGroupIssuesOptions ¶
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 *[]int64 `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 *int64 `url:"author_id,omitempty" json:"author_id,omitempty"`
NotAuthorID *int64 `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 is defined as an int64 in the documentation, however, the field
// must be able to accept Assignee IDs and the words 'None' and 'Any'. Use
// *AssigneeIDValue instead of *int64.
AssigneeID *AssigneeIDValue `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
NotAssigneeID *int64 `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"`
Confidential *bool `url:"confidential,omitempty" json:"confidential,omitempty"`
IssueType *string `url:"issue_type,omitempty" json:"issue_type,omitempty"`
IterationID *int64 `url:"iteration_id,omitempty" json:"iteration_id,omitempty"`
}
ListGroupIssuesOptions represents the available ListGroupIssues() options.
GitLab API docs: https://docs.gitlab.com/api/issues/#list-group-issues
type ListGroupIterationsOptions ¶
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"`
}
ListGroupIterationsOptions contains the available ListGroupIterations() options
GitLab API docs: https://docs.gitlab.com/api/group_iterations/#list-group-iterations
type ListGroupLabelsOptions ¶
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"`
IncludeDescendantGroups *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"`
}
ListGroupLabelsOptions represents the available ListGroupLabels() options.
GitLab API docs: https://docs.gitlab.com/api/group_labels/#list-group-labels
type ListGroupMembersOptions ¶
type ListGroupMembersOptions struct {
ListOptions
Query *string `url:"query,omitempty" json:"query,omitempty"`
UserIDs *[]int64 `url:"user_ids[],omitempty" json:"user_ids,omitempty"`
ShowSeatInfo *bool `url:"show_seat_info,omitempty" json:"show_seat_info,omitempty"`
}
ListGroupMembersOptions represents the available ListGroupMembers() and ListAllGroupMembers() options.
GitLab API docs: https://docs.gitlab.com/api/members/#list-all-members-of-a-group-or-project
type ListGroupMergeRequestsOptions ¶
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 *int64 `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"`
}
ListGroupMergeRequestsOptions represents the available ListGroupMergeRequests() options.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#list-group-merge-requests
type ListGroupMilestonesOptions ¶
type ListGroupMilestonesOptions struct {
ListOptions
IIDs *[]int64 `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"`
SearchTitle *string `url:"search_title,omitempty" json:"search_title,omitempty"`
IncludeAncestors *bool `url:"include_ancestors,omitempty" json:"include_ancestors,omitempty"`
IncludeDescendents *bool `url:"include_descendents,omitempty" json:"include_descendents,omitempty"`
UpdatedBefore *ISOTime `url:"updated_before,omitempty" json:"updated_before,omitempty"`
UpdatedAfter *ISOTime `url:"updated_after,omitempty" json:"updated_after,omitempty"`
ContainingDate *ISOTime `url:"containing_date,omitempty" json:"containing_date,omitempty"`
StartDate *ISOTime `url:"start_date,omitempty" json:"start_date,omitempty"`
EndDate *ISOTime `url:"end_date,omitempty" json:"end_date,omitempty"`
// Deprecated: in GitLab 16.7, use IncludeAncestors instead
IncludeParentMilestones *bool `url:"include_parent_milestones,omitempty" json:"include_parent_milestones,omitempty"`
}
ListGroupMilestonesOptions represents the available ListGroupMilestones() options.
GitLab API docs: https://docs.gitlab.com/api/group_milestones/#list-group-milestones
type ListGroupPackagesOptions ¶
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"`
}
ListGroupPackagesOptions represents the available ListGroupPackages() options.
GitLab API docs: https://docs.gitlab.com/api/packages/#for-a-group
type ListGroupPersonalAccessTokensOptions ¶
type ListGroupPersonalAccessTokensOptions struct {
ListOptions
CreatedAfter *ISOTime `url:"created_after,omitempty" json:"created_after,omitempty"`
CreatedBefore *ISOTime `url:"created_before,omitempty" json:"created_before,omitempty"`
LastUsedAfter *ISOTime `url:"last_used_after,omitempty" json:"last_used_after,omitempty"`
LastUsedBefore *ISOTime `url:"last_used_before,omitempty" json:"last_used_before,omitempty"`
Revoked *bool `url:"revoked,omitempty" json:"revoked,omitempty"`
Search *string `url:"search,omitempty" json:"search,omitempty"`
State *string `url:"state,omitempty" json:"state,omitempty"`
}
ListGroupPersonalAccessTokensOptions represents the available ListGroupPersonalAccessTokens() options.
GitLab API docs: https://docs.gitlab.com/api/groups/#list-all-personal-access-tokens-for-a-group
type ListGroupProjectsOptions ¶
type ListGroupProjectsOptions struct {
ListOptions
Active *bool `url:"active,omitempty" json:"active,omitempty"`
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"`
}
ListGroupProjectsOptions represents the available ListGroupProjects() options.
GitLab API docs: https://docs.gitlab.com/api/groups/#list-projects
type ListGroupProtectedBranchesOptions ¶
type ListGroupProtectedBranchesOptions struct {
ListOptions
Search *string `url:"search,omitempty" json:"search,omitempty"`
}
ListGroupProtectedBranchesOptions represents the available ListProtectedBranches() options.
GitLab API docs: https://docs.gitlab.com/api/group_protected_branches/#list-protected-branches
type ListGroupProtectedEnvironmentsOptions ¶
type ListGroupProtectedEnvironmentsOptions struct {
ListOptions
}
ListGroupProtectedEnvironmentsOptions represents the available ListGroupProtectedEnvironments() options.
GitLab API docs: https://docs.gitlab.com/api/group_protected_environments/#list-group-level-protected-environments
type ListGroupRegistryRepositoriesOptions ¶
type ListGroupRegistryRepositoriesOptions struct {
ListOptions
}
ListGroupRegistryRepositoriesOptions represents the available ListGroupRegistryRepositories() options.
GitLab API docs: https://docs.gitlab.com/api/container_registry/#within-a-group
type ListGroupRelationsStatusOptions ¶
type ListGroupRelationsStatusOptions struct {
ListOptions
Relation *string `url:"relation,omitempty" json:"relation,omitempty"`
}
ListGroupRelationsStatusOptions represents the available ListExportStatus() options.
GitLab API docs: https://docs.gitlab.com/api/group_relations_export/#export-status
type ListGroupReleasesOptions ¶
type ListGroupReleasesOptions struct {
ListOptions
Simple *bool `url:"simple,omitempty" json:"simple,omitempty"`
}
ListGroupReleasesOptions represents the available ListGroupReleases() options.
GitLab API docs: https://docs.gitlab.com/api/group_releases.html#list-group-releases
type ListGroupSSHKeysOptions ¶
type ListGroupSSHKeysOptions struct {
ListOptions
CreatedAfter *ISOTime `url:"created_after,omitempty" json:"created_after,omitempty"`
CreatedBefore *ISOTime `url:"created_before,omitempty" json:"created_before,omitempty"`
ExpiresBefore *ISOTime `url:"expires_before,omitempty" json:"expires_before,omitempty"`
ExpiresAfter *ISOTime `url:"expires_after,omitempty" json:"expires_after,omitempty"`
}
ListGroupSSHKeysOptions represents the available ListGroupSSHKeys() options.
GitLab API docs: https://docs.gitlab.com/api/groups/#list-all-ssh-keys-for-a-group
type ListGroupSharedProjectsOptions ¶
type ListGroupSharedProjectsOptions struct {
}
ListGroupSharedProjectsOptions represents the available ListGroupSharedProjects() options.
GitLab API docs: https://docs.gitlab.com/api/groups/#list-shared-projects
type ListGroupVariablesOptions ¶
type ListGroupVariablesOptions struct {
ListOptions
}
ListGroupVariablesOptions represents the available options for listing variables for a group.
GitLab API docs: https://docs.gitlab.com/api/group_level_variables/#list-group-variables
type ListGroupWikisOptions ¶
type ListGroupWikisOptions struct {
WithContent *bool `url:"with_content,omitempty" json:"with_content,omitempty"`
}
ListGroupWikisOptions represents the available ListGroupWikis options.
GitLab API docs: https://docs.gitlab.com/api/group_wikis/#list-wiki-pages
type ListGroupsOptions ¶
type ListGroupsOptions struct {
ListOptions
SkipGroups *[]int64 `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"`
Visibility *VisibilityValue `url:"visibility,omitempty" json:"visibility,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"`
MarkedForDeletionOn *ISOTime `url:"marked_for_deletion_on,omitempty" json:"marked_for_deletion_on,omitempty"`
Active *bool `url:"active,omitempty" json:"active,omitempty"`
Archived *bool `url:"archived,omitempty" json:"archived,omitempty"`
}
ListGroupsOptions represents the available ListGroups() options.
GitLab API docs: https://docs.gitlab.com/api/groups/#list-groups
type ListGroupsRunnersOptions ¶
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"`
}
ListGroupsRunnersOptions represents the available ListGroupsRunners() options.
GitLab API docs: https://docs.gitlab.com/api/runners/#list-groups-runners
type ListInstanceDeployKeysOptions ¶
type ListInstanceDeployKeysOptions struct {
ListOptions
Public *bool `url:"public,omitempty" json:"public,omitempty"`
}
ListInstanceDeployKeysOptions represents the available ListAllDeployKeys() options.
GitLab API docs: https://docs.gitlab.com/api/deploy_keys/#list-all-deploy-keys
type ListInstanceVariablesOptions ¶
type ListInstanceVariablesOptions struct {
ListOptions
}
ListInstanceVariablesOptions represents the available options for listing variables for an instance.
GitLab API docs: https://docs.gitlab.com/api/instance_level_ci_variables/#list-all-instance-variables
type ListIssueBoardsOptions ¶
type ListIssueBoardsOptions struct {
ListOptions
}
ListIssueBoardsOptions represents the available ListIssueBoards() options.
GitLab API docs: https://docs.gitlab.com/api/boards/#list-project-issue-boards
type ListIssueDiscussionsOptions ¶
type ListIssueDiscussionsOptions struct {
ListOptions
}
ListIssueDiscussionsOptions represents the available ListIssueDiscussions() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#list-project-issue-discussion-items
type ListIssueNotesOptions ¶
type ListIssueNotesOptions struct {
ListOptions
OrderBy *string `url:"order_by,omitempty" json:"order_by,omitempty"`
Sort *string `url:"sort,omitempty" json:"sort,omitempty"`
}
ListIssueNotesOptions represents the available ListIssueNotes() options.
GitLab API docs: https://docs.gitlab.com/api/notes/#list-project-issue-notes
type ListIssuesOptions ¶
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 *int64 `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 *[]int64 `url:"not[author_id],omitempty" json:"not[author_id],omitempty"`
AssigneeID *AssigneeIDValue `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
NotAssigneeID *[]int64 `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 *[]int64 `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 *int64 `url:"iteration_id,omitempty" json:"iteration_id,omitempty"`
}
ListIssuesOptions represents the available ListIssues() options.
GitLab API docs: https://docs.gitlab.com/api/issues/#list-issues
type ListIterationEventsOptions ¶
type ListIterationEventsOptions struct {
ListOptions
}
ListIterationEventsOptions represents the options for all resource state events list methods.
GitLab API docs: https://docs.gitlab.com/api/resource_iteration_events/#list-project-issue-iteration-events
type ListJobsOptions ¶
type ListJobsOptions struct {
ListOptions
Scope *[]BuildStateValue `url:"scope[],omitempty" json:"scope,omitempty"`
IncludeRetried *bool `url:"include_retried,omitempty" json:"include_retried,omitempty"`
}
ListJobsOptions represents the available ListProjectJobs() options.
GitLab API docs: https://docs.gitlab.com/api/jobs/#list-project-jobs
type ListLabelEventsOptions ¶
type ListLabelEventsOptions struct {
ListOptions
}
ListLabelEventsOptions represents the options for all resource label events list methods.
GitLab API docs: https://docs.gitlab.com/api/resource_label_events/#list-project-issue-label-events
type ListLabelsOptions ¶
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"`
Archived *bool `url:"archived,omitempty" json:"archived,omitempty"`
}
ListLabelsOptions represents the available ListLabels() options.
GitLab API docs: https://docs.gitlab.com/api/labels/#list-labels
type ListLicenseTemplatesOptions ¶
type ListLicenseTemplatesOptions struct {
ListOptions
Popular *bool `url:"popular,omitempty" json:"popular,omitempty"`
}
ListLicenseTemplatesOptions represents the available ListLicenseTemplates() options.
GitLab API docs: https://docs.gitlab.com/api/templates/licenses/#list-license-templates
type ListMarkdownUploadsOptions ¶
type ListMarkdownUploadsOptions struct {
ListOptions
}
type ListMembershipsForBillableGroupMemberOptions ¶
type ListMembershipsForBillableGroupMemberOptions struct {
ListOptions
}
ListMembershipsForBillableGroupMemberOptions represents the available ListMembershipsForBillableGroupMember() options.
GitLab API docs: https://docs.gitlab.com/api/members/#list-memberships-for-a-billable-member-of-a-group
type ListMergeRequestDiffsOptions ¶
type ListMergeRequestDiffsOptions struct {
ListOptions
Unidiff *bool `url:"unidiff,omitempty" json:"unidiff,omitempty"`
}
ListMergeRequestDiffsOptions represents the available ListMergeRequestDiffs() options.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#list-merge-request-diffs
type ListMergeRequestDiscussionsOptions ¶
type ListMergeRequestDiscussionsOptions struct {
ListOptions
}
ListMergeRequestDiscussionsOptions represents the available ListMergeRequestDiscussions() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#list-project-merge-request-discussion-items
type ListMergeRequestNotesOptions ¶
type ListMergeRequestNotesOptions struct {
ListOptions
OrderBy *string `url:"order_by,omitempty" json:"order_by,omitempty"`
Sort *string `url:"sort,omitempty" json:"sort,omitempty"`
}
ListMergeRequestNotesOptions represents the available ListMergeRequestNotes() options.
GitLab API docs: https://docs.gitlab.com/api/notes/#list-all-merge-request-notes
type ListMergeRequestsClosingIssueOptions ¶
type ListMergeRequestsClosingIssueOptions struct {
ListOptions
}
ListMergeRequestsClosingIssueOptions represents the available ListMergeRequestsClosingIssue() options.
GitLab API docs: https://docs.gitlab.com/api/issues/#list-merge-requests-that-close-a-particular-issue-on-merge
type ListMergeRequestsOptions ¶
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 *int64 `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"`
}
ListMergeRequestsOptions represents the available ListMergeRequests() options.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#list-merge-requests
type ListMergeRequestsRelatedToIssueOptions ¶
type ListMergeRequestsRelatedToIssueOptions struct {
ListOptions
}
ListMergeRequestsRelatedToIssueOptions represents the available ListMergeRequestsRelatedToIssue() options.
GitLab API docs: https://docs.gitlab.com/api/issues/#list-merge-requests-related-to-issue
type ListMergeTrainsOptions ¶
type ListMergeTrainsOptions struct {
ListOptions
Scope *string `url:"scope,omitempty" json:"scope,omitempty"`
Sort *string `url:"sort,omitempty" json:"sort,omitempty"`
}
ListMergeTrainsOptions represents the available ListMergeTrain() options.
GitLab API docs: https://docs.gitlab.com/api/merge_trains/#list-merge-trains-for-a-project
type ListMetricImagesOptions ¶
type ListMetricImagesOptions struct {
ListOptions
}
ListMetricImagesOptions represents the available ListMetricImages() options.
GitLab API docs: https://docs.gitlab.com/api/alert_management_alerts/#list-metric-images
type ListMilestoneEventsOptions ¶
type ListMilestoneEventsOptions struct {
ListOptions
}
ListMilestoneEventsOptions represents the options for all resource state events list methods.
GitLab API docs: https://docs.gitlab.com/api/resource_milestone_events/#list-project-issue-milestone-events
type ListMilestonesOptions ¶
type ListMilestonesOptions struct {
ListOptions
IIDs *[]int64 `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"`
IncludeAncestors *bool `url:"include_ancestors,omitempty" json:"include_ancestors,omitempty"`
// Deprecated: in GitLab 16,7, use IncludeAncestors instead
IncludeParentMilestones *bool `url:"include_parent_milestones,omitempty" json:"include_parent_milestones,omitempty"`
}
ListMilestonesOptions represents the available ListMilestones() options.
GitLab API docs: https://docs.gitlab.com/api/milestones/#list-project-milestones
type ListNamespacesOptions ¶
type ListNamespacesOptions struct {
ListOptions
Search *string `url:"search,omitempty" json:"search,omitempty"`
OwnedOnly *bool `url:"owned_only,omitempty" json:"owned_only,omitempty"`
TopLevelOnly *bool `url:"top_level_only,omitempty" json:"top_level_only,omitempty"`
}
ListNamespacesOptions represents the available ListNamespaces() options.
GitLab API docs: https://docs.gitlab.com/api/namespaces/#list-all-namespaces
type ListOptions ¶
type ListOptions struct {
// For keyset-based paginated result sets, the value must be `"keyset"`
Pagination string `url:"pagination,omitempty" json:"pagination,omitempty"`
// For offset-based and keyset-based paginated result sets, the number of results to include per page.
PerPage int64 `url:"per_page,omitempty" json:"per_page,omitempty"`
// For offset-based paginated result sets, page of results to retrieve.
Page int64 `url:"page,omitempty" json:"page,omitempty"`
// For keyset-based paginated result sets, tree record ID at which to fetch the next page.
PageToken string `url:"page_token,omitempty" json:"page_token,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, sort order (`"asc"“ or `"desc"`)
Sort string `url:"sort,omitempty" json:"sort,omitempty"`
}
ListOptions specifies the optional parameters to various List methods that support pagination.
type ListPackageFilesOptions ¶
type ListPackageFilesOptions struct {
ListOptions
}
ListPackageFilesOptions represents the available ListPackageFiles() options.
GitLab API docs: https://docs.gitlab.com/api/packages/#list-package-files
type ListPackageProtectionRulesOptions ¶
type ListPackageProtectionRulesOptions struct {
ListOptions
}
ListPackageProtectionRulesOptions represents the available ListPackageProtectionRules() options.
GitLab API docs: https://docs.gitlab.com/api/project_packages_protection_rules/#list-package-protection-rules
type ListPagesDomainsOptions ¶
type ListPagesDomainsOptions struct {
ListOptions
}
ListPagesDomainsOptions represents the available ListPagesDomains() options.
GitLab API docs: https://docs.gitlab.com/api/pages_domains/#list-pages-domains
type ListPendingInvitationsOptions ¶
type ListPendingInvitationsOptions struct {
ListOptions
Query *string `url:"query,omitempty" json:"query,omitempty"`
}
ListPendingInvitationsOptions represents the available ListPendingInvitations() options.
GitLab API docs: https://docs.gitlab.com/api/invitations/#list-all-invitations-pending-for-a-group-or-project
type ListPersonalAccessTokensOptions ¶
type ListPersonalAccessTokensOptions struct {
ListOptions
CreatedAfter *ISOTime `url:"created_after,omitempty" json:"created_after,omitempty"`
CreatedBefore *ISOTime `url:"created_before,omitempty" json:"created_before,omitempty"`
ExpiresAfter *ISOTime `url:"expires_after,omitempty" json:"expires_after,omitempty"`
ExpiresBefore *ISOTime `url:"expires_before,omitempty" json:"expires_before,omitempty"`
LastUsedAfter *ISOTime `url:"last_used_after,omitempty" json:"last_used_after,omitempty"`
LastUsedBefore *ISOTime `url:"last_used_before,omitempty" json:"last_used_before,omitempty"`
Revoked *bool `url:"revoked,omitempty" json:"revoked,omitempty"`
Search *string `url:"search,omitempty" json:"search,omitempty"`
Sort *string `url:"sort,omitempty" json:"sort,omitempty"`
State *string `url:"state,omitempty" json:"state,omitempty"`
UserID *int64 `url:"user_id,omitempty" json:"user_id,omitempty"`
}
ListPersonalAccessTokensOptions represents the available ListPersonalAccessTokens() options.
GitLab API docs: https://docs.gitlab.com/api/personal_access_tokens/#list-all-personal-access-tokens
type ListPipelineSchedulesOptions ¶
type ListPipelineSchedulesOptions struct {
ListOptions
Scope *PipelineScheduleScopeValue `url:"scope,omitempty"`
}
ListPipelineSchedulesOptions represents the available ListPipelineTriggers() options.
GitLab API docs: https://docs.gitlab.com/api/pipeline_schedules/#get-all-pipeline-schedules
type ListPipelineTriggersOptions ¶
type ListPipelineTriggersOptions struct {
ListOptions
}
ListPipelineTriggersOptions represents the available ListPipelineTriggers() options.
GitLab API docs: https://docs.gitlab.com/api/pipeline_triggers/#list-project-trigger-tokens
type ListPipelinesTriggeredByScheduleOptions ¶
type ListPipelinesTriggeredByScheduleOptions struct {
ListOptions
}
ListPipelinesTriggeredByScheduleOptions represents the available ListPipelinesTriggeredBySchedule() options.
GitLab API docs: https://docs.gitlab.com/api/pipeline_schedules/#get-all-pipelines-triggered-by-a-pipeline-schedule
type ListProjectAccessTokensOptions ¶
type ListProjectAccessTokensOptions struct {
ListOptions
State *string `url:"state,omitempty" json:"state,omitempty"`
}
ListProjectAccessTokensOptions represents the available ListProjectAccessTokens() options.
GitLab API docs: https://docs.gitlab.com/api/project_access_tokens/#list-all-project-access-tokens
type ListProjectBadgesOptions ¶
type ListProjectBadgesOptions struct {
ListOptions
Name *string `url:"name,omitempty" json:"name,omitempty"`
}
ListProjectBadgesOptions represents the available ListProjectBadges() options.
GitLab API docs: https://docs.gitlab.com/api/project_badges/#list-all-badges-of-a-project
type ListProjectDependenciesOptions ¶
type ListProjectDependenciesOptions struct {
ListOptions
PackageManager []*DependencyPackageManagerValue `url:"package_manager,comma,omitempty" json:"package_manager,omitempty"`
}
ListProjectDependenciesOptions represents the options for listing project dependencies.
GitLab API docs: https://docs.gitlab.com/api/dependencies/#list-project-dependencies
type ListProjectDeployKeysOptions ¶
type ListProjectDeployKeysOptions struct {
ListOptions
}
ListProjectDeployKeysOptions represents the available ListProjectDeployKeys() options.
GitLab API docs: https://docs.gitlab.com/api/deploy_keys/#list-deploy-keys-for-project
type ListProjectDeployTokensOptions ¶
type ListProjectDeployTokensOptions struct {
ListOptions
}
ListProjectDeployTokensOptions represents the available ListProjectDeployTokens() options.
GitLab API docs: https://docs.gitlab.com/api/deploy_tokens/#list-project-deploy-tokens
type ListProjectDeploymentsOptions ¶
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"`
}
ListProjectDeploymentsOptions represents the available ListProjectDeployments() options.
GitLab API docs: https://docs.gitlab.com/api/deployments/#list-project-deployments
type ListProjectExternalStatusChecksOptions ¶
type ListProjectExternalStatusChecksOptions struct {
ListOptions
}
ListProjectExternalStatusChecksOptions represents the available ListProjectExternalStatusChecks() options.
GitLab API docs: https://docs.gitlab.com/api/status_checks/#get-project-external-status-check-services
type ListProjectFeatureFlagOptions ¶
type ListProjectFeatureFlagOptions struct {
ListOptions
Scope *string `url:"scope,omitempty" json:"scope,omitempty"`
}
ListProjectFeatureFlagOptions contains the options for ListProjectFeatureFlags
GitLab API docs: https://docs.gitlab.com/api/feature_flags/#list-feature-flags-for-a-project
type ListProjectGroupOptions ¶
type ListProjectGroupOptions struct {
ListOptions
Search *string `url:"search,omitempty" json:"search,omitempty"`
SkipGroups *[]int64 `url:"skip_groups,omitempty" json:"skip_groups,omitempty"`
}
ListProjectGroupOptions represents the available ListProjectsGroups() options.
GitLab API docs: https://docs.gitlab.com/api/projects/#list-groups
type ListProjectHooksOptions ¶
type ListProjectHooksOptions struct {
ListOptions
}
ListProjectHooksOptions represents the available ListProjectHooks() options.
GitLab API docs: https://docs.gitlab.com/api/project_webhooks/#list-webhooks-for-a-project
type ListProjectInvitedGroupOptions ¶
type ListProjectInvitedGroupOptions struct {
ListOptions
Search *string `url:"search,omitempty" json:"search,omitempty"`
MinAccessLevel *AccessLevelValue `url:"min_access_level,omitempty" json:"min_access_level,omitempty"`
Relation *[]string `url:"relation,omitempty" json:"relation,omitempty"`
WithCustomAttributes *bool `url:"with_custom_attributes,omitempty" json:"with_custom_attributes,omitempty"`
}
ListProjectInvitedGroupOptions represents the available ListProjectsInvitedGroups() options.
GitLab API docs: https://docs.gitlab.com/api/projects/#list-a-projects-invited-groups
type ListProjectIssuesOptions ¶
type ListProjectIssuesOptions struct {
ListOptions
IIDs *[]int64 `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 *int64 `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 *int64 `url:"not[author_id],omitempty" json:"not[author_id],omitempty"`
// AssigneeID is defined as an int in the documentation, however, the field
// must be able to accept Assignee IDs and the words 'None' and 'Any'. Use
// *AssigneeIDValue instead of *int.
AssigneeID *AssigneeIDValue `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
NotAssigneeID *int64 `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 *int64 `url:"iteration_id,omitempty" json:"iteration_id,omitempty"`
}
ListProjectIssuesOptions represents the available ListProjectIssues() options.
GitLab API docs: https://docs.gitlab.com/api/issues/#list-project-issues
type ListProjectIterationsOptions ¶
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"`
}
ListProjectIterationsOptions contains the available ListProjectIterations() options
GitLab API docs: https://docs.gitlab.com/api/iterations/#list-project-iterations
type ListProjectMembersOptions ¶
type ListProjectMembersOptions struct {
ListOptions
Query *string `url:"query,omitempty" json:"query,omitempty"`
UserIDs *[]int64 `url:"user_ids[],omitempty" json:"user_ids,omitempty"`
ShowSeatInfo *bool `url:"show_seat_info,omitempty" json:"show_seat_info,omitempty"`
}
ListProjectMembersOptions represents the available ListProjectMembers() and ListAllProjectMembers() options.
GitLab API docs: https://docs.gitlab.com/api/members/#list-all-members-of-a-group-or-project
type ListProjectMergeRequestExternalStatusChecksOptions ¶
type ListProjectMergeRequestExternalStatusChecksOptions struct {
ListOptions
}
ListProjectMergeRequestExternalStatusChecksOptions represents the available ListProjectMergeRequestExternalStatusChecks() options.
GitLab API docs: https://docs.gitlab.com/api/status_checks/#list-status-checks-for-a-merge-request
type ListProjectMergeRequestsOptions ¶
type ListProjectMergeRequestsOptions struct {
ListOptions
IIDs *[]int64 `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"`
Environment *string `url:"environment,omitempty" json:"environment,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"`
DeployedBefore *time.Time `url:"deployed_before,omitempty" json:"deployed_before,omitempty"`
DeployedAfter *time.Time `url:"deployed_after,omitempty" json:"deployed_after,omitempty"`
Scope *string `url:"scope,omitempty" json:"scope,omitempty"`
AuthorID *int64 `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"`
}
ListProjectMergeRequestsOptions represents the available ListMergeRequests() options.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#list-project-merge-requests
type ListProjectMirrorOptions ¶
type ListProjectMirrorOptions struct {
ListOptions
}
ListProjectMirrorOptions represents the available ListProjectMirror() options.
type ListProjectPackagesOptions ¶
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"`
}
ListProjectPackagesOptions represents the available ListProjectPackages() options.
GitLab API docs: https://docs.gitlab.com/api/packages/#for-a-project
type ListProjectPipelinesOptions ¶
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"`
CreatedAfter *time.Time `url:"created_after,omitempty" json:"created_after,omitempty"`
CreatedBefore *time.Time `url:"created_before,omitempty" json:"created_before,omitempty"`
}
ListProjectPipelinesOptions represents the available ListProjectPipelines() options.
GitLab API docs: https://docs.gitlab.com/api/pipelines/#list-project-pipelines
type ListProjectRegistryRepositoriesOptions ¶
type ListProjectRegistryRepositoriesOptions struct {
ListOptions
Tags *bool `url:"tags,omitempty" json:"tags,omitempty"`
TagsCount *bool `url:"tags_count,omitempty" json:"tags_count,omitempty"`
}
ListProjectRegistryRepositoriesOptions represents the available ListProjectRegistryRepositories() options.
GitLab API docs: https://docs.gitlab.com/api/container_registry/#list-registry-repositories
type ListProjectRunnersOptions ¶
type ListProjectRunnersOptions ListRunnersOptions
ListProjectRunnersOptions represents the available ListProjectRunners() options.
GitLab API docs: https://docs.gitlab.com/api/runners/#list-projects-runners
type ListProjectSecureFilesOptions ¶
type ListProjectSecureFilesOptions struct {
ListOptions
}
ListProjectSecureFilesOptions represents the available ListProjectSecureFiles() options.
GitLab API docs: https://docs.gitlab.com/api/secure_files/#list-project-secure-files
type ListProjectSnippetsOptions ¶
type ListProjectSnippetsOptions struct {
ListOptions
}
ListProjectSnippetsOptions represents the available ListSnippets() options.
GitLab API docs: https://docs.gitlab.com/api/project_snippets/#list-snippets
type ListProjectStarrersOptions ¶
type ListProjectStarrersOptions struct {
ListOptions
Search *string `url:"search,omitempty" json:"search,omitempty"`
}
ListProjectStarrersOptions represents the available ListProjectStarrers() options.
GitLab API docs: https://docs.gitlab.com/api/project_starring/#list-users-who-starred-a-project
type ListProjectTemplatesOptions ¶
type ListProjectTemplatesOptions struct {
ListOptions
ID *int64 `url:"id,omitempty" json:"id,omitempty"`
Type *string `url:"type,omitempty" json:"type,omitempty"`
}
ListProjectTemplatesOptions represents the available ListSnippets() options.
GitLab API docs: https://docs.gitlab.com/api/project_templates/#get-all-templates-of-a-particular-type
type ListProjectUserOptions ¶
type ListProjectUserOptions struct {
ListOptions
Search *string `url:"search,omitempty" json:"search,omitempty"`
}
ListProjectUserOptions represents the available ListProjectsUsers() options.
GitLab API docs: https://docs.gitlab.com/api/projects/#list-users
type ListProjectVariablesOptions ¶
type ListProjectVariablesOptions struct {
ListOptions
}
ListProjectVariablesOptions represents the available options for listing variables in a project.
GitLab API docs: https://docs.gitlab.com/api/project_level_variables/#list-project-variables
type ListProjectVisibleEventsOptions ¶
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"`
}
ListProjectVisibleEventsOptions represents the available ListProjectVisibleEvents() options.
GitLab API docs: https://docs.gitlab.com/api/events/#list-all-visible-events-for-a-project
type ListProjectVulnerabilitiesOptions ¶
type ListProjectVulnerabilitiesOptions struct {
ListOptions
}
ListProjectVulnerabilitiesOptions represents the available ListProjectVulnerabilities() options. Deprecated: use GraphQL Query.vulnerabilities instead
GitLab API docs: https://docs.gitlab.com/api/project_vulnerabilities/#list-project-vulnerabilities
type ListProjectsOptions ¶
type ListProjectsOptions struct {
ListOptions
Active *bool `url:"active,omitempty" json:"active,omitempty"`
Archived *bool `url:"archived,omitempty" json:"archived,omitempty"`
IDAfter *int64 `url:"id_after,omitempty" json:"id_after,omitempty"`
IDBefore *int64 `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"`
}
ListProjectsOptions represents the available ListProjects() options.
GitLab API docs: https://docs.gitlab.com/api/projects/#list-all-projects
type ListProtectedBranchesOptions ¶
type ListProtectedBranchesOptions struct {
ListOptions
Search *string `url:"search,omitempty" json:"search,omitempty"`
}
ListProtectedBranchesOptions represents the available ListProtectedBranches() options.
GitLab API docs: https://docs.gitlab.com/api/protected_branches/#list-protected-branches
type ListProtectedEnvironmentsOptions ¶
type ListProtectedEnvironmentsOptions struct {
ListOptions
}
ListProtectedEnvironmentsOptions represents the available ListProtectedEnvironments() options.
GitLab API docs: https://docs.gitlab.com/api/protected_environments/#list-protected-environments
type ListProtectedTagsOptions ¶
type ListProtectedTagsOptions struct {
ListOptions
}
ListProtectedTagsOptions represents the available ListProtectedTags() options.
GitLab API docs: https://docs.gitlab.com/api/protected_tags/#list-protected-tags
type ListProvisionedUsersOptions ¶
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"`
}
ListProvisionedUsersOptions represents the available ListProvisionedUsers() options.
GitLab API docs: https://docs.gitlab.com/api/groups/#list-provisioned-users
type ListRegistryRepositoryTagsOptions ¶
type ListRegistryRepositoryTagsOptions struct {
ListOptions
}
ListRegistryRepositoryTagsOptions represents the available ListRegistryRepositoryTags() options.
GitLab API docs: https://docs.gitlab.com/api/container_registry/#list-registry-repository-tags
type ListRelatedIssuesOptions ¶
type ListRelatedIssuesOptions struct {
ListOptions
}
ListRelatedIssuesOptions represents the available ListRelatedIssues() options.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#list-issues-related-to-the-merge-request
type ListReleaseLinksOptions ¶
type ListReleaseLinksOptions struct {
ListOptions
}
ListReleaseLinksOptions represents ListReleaseLinks() options.
GitLab API docs: https://docs.gitlab.com/api/releases/links/#list-links-of-a-release
type ListReleasesOptions ¶
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"`
}
ListReleasesOptions represents ListReleases() options.
GitLab API docs: https://docs.gitlab.com/api/releases/#list-releases
type ListRunnerControllerTokensOptions ¶
type ListRunnerControllerTokensOptions struct {
ListOptions
}
ListRunnerControllerTokensOptions represents the available ListRunnerControllerTokens() options.
GitLab API docs: https://docs.gitlab.com/api/runner_controller_tokens/#list-all-runner-controller-tokens
type ListRunnerControllersOptions ¶
type ListRunnerControllersOptions struct {
ListOptions
}
ListRunnerControllersOptions represents the available ListRunnerControllers() options.
GitLab API docs: https://docs.gitlab.com/api/runner_controllers/#list-all-runner-controllers
type ListRunnerJobsOptions ¶
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"`
}
ListRunnerJobsOptions represents the available ListRunnerJobs() options. Status can be one of: running, success, failed, canceled.
GitLab API docs: https://docs.gitlab.com/api/runners/#list-jobs-processed-by-a-runner
type ListRunnersOptions ¶
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"`
}
ListRunnersOptions represents the available ListRunners() options.
GitLab API docs: https://docs.gitlab.com/api/runners/#list-owned-runners
type ListSSHKeysForUserOptions ¶
type ListSSHKeysForUserOptions struct {
ListOptions
}
ListSSHKeysForUserOptions represents the available ListSSHKeysForUser() options.
GitLab API docs: https://docs.gitlab.com/api/user_keys/#list-all-ssh-keys-for-a-user
type ListSSHKeysOptions ¶
type ListSSHKeysOptions struct {
ListOptions
}
ListSSHKeysOptions represents the available ListSSHKeys options.
GitLab API docs: https://docs.gitlab.com/api/user_keys/#list-all-ssh-keys
type ListServiceAccountPersonalAccessTokensOptions ¶
type ListServiceAccountPersonalAccessTokensOptions struct {
ListOptions
CreatedAfter *time.Time `url:"created_after,omitempty" json:"created_after,omitempty"`
CreatedBefore *time.Time `url:"created_before,omitempty" json:"created_before,omitempty"`
ExpiresAfter *ISOTime `url:"expires_after,omitempty" json:"expires_after,omitempty"`
ExpiresBefore *ISOTime `url:"expires_before,omitempty" json:"expires_before,omitempty"`
LastUsedAfter *time.Time `url:"last_used_after,omitempty" json:"last_used_after,omitempty"`
LastUsedBefore *time.Time `url:"last_used_before,omitempty" json:"last_used_before,omitempty"`
Revoked *bool `url:"revoked,omitempty" json:"revoked,omitempty"`
UserID *int64 `url:"user_id,omitempty" json:"user_id,omitempty"`
Search *string `url:"search,omitempty" json:"search,omitempty"`
Sort *string `url:"sort,omitempty" json:"sort,omitempty"`
State *string `url:"state,omitempty" json:"state,omitempty"`
}
ListServiceAccountPersonalAccessTokensOptions represents the available ListServiceAccountPersonalAccessTokens() options.
GitLab API docs: https://docs.gitlab.com/api/service_accounts/#list-all-personal-access-tokens-for-a-group-service-account
type ListServiceAccountsOptions ¶
type ListServiceAccountsOptions struct {
ListOptions
OrderBy *string `url:"order_by,omitempty" json:"order_by,omitempty"`
Sort *string `url:"sort,omitempty" json:"sort,omitempty"`
}
ListServiceAccountsOptions represents the available ListServiceAccounts() options.
GitLab API docs: https://docs.gitlab.com/api/service_accounts/#list-all-group-service-accounts
type ListSnippetDiscussionsOptions ¶
type ListSnippetDiscussionsOptions struct {
ListOptions
}
ListSnippetDiscussionsOptions represents the available ListSnippetDiscussions() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#list-project-snippet-discussion-items
type ListSnippetNotesOptions ¶
type ListSnippetNotesOptions struct {
ListOptions
OrderBy *string `url:"order_by,omitempty" json:"order_by,omitempty"`
Sort *string `url:"sort,omitempty" json:"sort,omitempty"`
}
ListSnippetNotesOptions represents the available ListSnippetNotes() options.
GitLab API docs: https://docs.gitlab.com/api/notes/#list-all-snippet-notes
type ListSnippetsOptions ¶
type ListSnippetsOptions struct {
ListOptions
}
ListSnippetsOptions represents the available ListSnippets() options.
GitLab API docs: https://docs.gitlab.com/api/snippets/#list-all-snippets-for-current-user
type ListStateEventsOptions ¶
type ListStateEventsOptions struct {
ListOptions
}
ListStateEventsOptions represents the options for all resource state events list methods.
GitLab API docs: https://docs.gitlab.com/api/resource_state_events/#list-project-issue-state-events
type ListStatusOfAllGeoSitesOptions ¶
type ListStatusOfAllGeoSitesOptions struct {
ListOptions
}
ListStatusOfAllGeoSitesOptions represents the available ListStatusOfAllGeoSites() options.
GitLab API docs: https://docs.gitlab.com/api/geo_sites/#list-all-geo-site-statuses
type ListSubGroupsOptions ¶
type ListSubGroupsOptions ListGroupsOptions
ListSubGroupsOptions represents the available ListSubGroups() options.
GitLab API docs: https://docs.gitlab.com/api/groups/#list-subgroups
type ListTagsOptions ¶
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"`
}
ListTagsOptions represents the available ListTags() options.
GitLab API docs: https://docs.gitlab.com/api/tags/#list-project-repository-tags
type ListTemplatesOptions ¶
type ListTemplatesOptions struct {
ListOptions
}
ListTemplatesOptions represents the available ListAllTemplates() options.
GitLab API docs: https://docs.gitlab.com/api/templates/gitignores/#get-all-gitignore-templates
type ListTodosOptions ¶
type ListTodosOptions struct {
ListOptions
Action *TodoAction `url:"action,omitempty" json:"action,omitempty"`
AuthorID *int64 `url:"author_id,omitempty" json:"author_id,omitempty"`
ProjectID *int64 `url:"project_id,omitempty" json:"project_id,omitempty"`
GroupID *int64 `url:"group_id,omitempty" json:"group_id,omitempty"`
State *string `url:"state,omitempty" json:"state,omitempty"`
Type *string `url:"type,omitempty" json:"type,omitempty"`
}
ListTodosOptions represents the available ListTodos() options.
GitLab API docs: https://docs.gitlab.com/api/todos/#get-a-list-of-to-do-items
type ListTopicsOptions ¶
type ListTopicsOptions struct {
ListOptions
Search *string `url:"search,omitempty" json:"search,omitempty"`
}
ListTopicsOptions represents the available ListTopics() options.
GitLab API docs: https://docs.gitlab.com/api/topics/#list-topics
type ListTreeOptions ¶
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"`
}
ListTreeOptions represents the available ListTree() options.
GitLab API docs: https://docs.gitlab.com/api/repositories/#list-repository-tree
type ListUserProjectDeployKeysOptions ¶
type ListUserProjectDeployKeysOptions struct {
ListOptions
}
ListUserProjectDeployKeysOptions represents the available ListUserProjectDeployKeys() options.
GitLab API docs: https://docs.gitlab.com/api/deploy_keys/#list-project-deploy-keys-for-user
type ListUsersOptions ¶
type ListUsersOptions struct {
ListOptions
Active *bool `url:"active,omitempty" json:"active,omitempty"`
Blocked *bool `url:"blocked,omitempty" json:"blocked,omitempty"`
Humans *bool `url:"humans,omitempty" json:"humans,omitempty"`
ExcludeInternal *bool `url:"exclude_internal,omitempty" json:"exclude_internal,omitempty"`
ExcludeActive *bool `url:"exclude_active,omitempty" json:"exclude_active,omitempty"`
ExcludeExternal *bool `url:"exclude_external,omitempty" json:"exclude_external,omitempty"`
ExcludeHumans *bool `url:"exclude_humans,omitempty" json:"exclude_humans,omitempty"`
PublicEmail *string `url:"public_email,omitempty" json:"public_email,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"`
}
ListUsersOptions represents the available ListUsers() options.
GitLab API docs: https://docs.gitlab.com/api/users/#list-all-users
type ListWeightEventsOptions ¶
type ListWeightEventsOptions struct {
ListOptions
}
ListWeightEventsOptions represents the options for all resource weight events list methods.
GitLab API docs: https://docs.gitlab.com/api/resource_weight_events/#list-project-issue-weight-events
type ListWikisOptions ¶
type ListWikisOptions struct {
WithContent *bool `url:"with_content,omitempty" json:"with_content,omitempty"`
}
ListWikisOptions represents the available ListWikis options.
GitLab API docs: https://docs.gitlab.com/api/wikis/#list-wiki-pages
type ListWorkItemsOptions ¶
type ListWorkItemsOptions struct {
AssigneeUsernames []string
AssigneeWildcardID *string
AuthorUsername *string
Confidential *bool
CRMContactID *string
CRMOrganizationID *string
HealthStatusFilter *string
IDs []string
IIDs []string
IncludeAncestors *bool
IncludeDescendants *bool
IterationCadenceID []string
IterationID []string
IterationWildcardID *string
LabelName []string
MilestoneTitle []string
MilestoneWildcardID *string
MyReactionEmoji *string
ParentIDs []string
ReleaseTag []string
ReleaseTagWildcardID *string
State *string
Subscribed *string
Types []string
Weight *string
WeightWildcardID *string
// Time filters
ClosedAfter *time.Time
ClosedBefore *time.Time
CreatedAfter *time.Time
CreatedBefore *time.Time
DueAfter *time.Time
DueBefore *time.Time
UpdatedAfter *time.Time
UpdatedBefore *time.Time
// Sorting
Sort *string
// Search
Search *string
In []string
// Pagination
After *string
Before *string
First *int64
Last *int64
}
ListWorkItemsOptions represents the available ListWorkItems() options.
GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#namespaceworkitems
Experimental: The Work Items API is a work in progress and may introduce breaking changes even between minor versions.
type ManagementProject ¶
type ManagementProject struct {
ID int64 `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"`
}
ManagementProject represents a GitLab Project Cluster management_project. Deprecated: in GitLab 14.5, to be removed in 19.0
type MarkMigrationAsSuccessfulOptions ¶
type MarkMigrationAsSuccessfulOptions struct {
Database string `url:"database,omitempty" json:"database,omitempty"`
}
MarkMigrationAsSuccessfulOptions represents the options to mark a migration as successful.
GitLab API docs: https://docs.gitlab.com/api/database_migrations/#mark-a-migration-as-successful
type Markdown ¶
type Markdown struct {
HTML string `json:"html"`
}
Markdown represents a markdown document.
GitLab API docs: https://docs.gitlab.com/api/markdown/
type MarkdownService ¶
type MarkdownService struct {
// contains filtered or unexported fields
}
MarkdownService handles communication with the markdown related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/markdown/
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/api/markdown/#render-an-arbitrary-markdown-document
type MarkdownServiceInterface ¶
type MarkdownServiceInterface interface {
Render(opt *RenderOptions, options ...RequestOptionFunc) (*Markdown, *Response, error)
}
type MarkdownUpload ¶
type MarkdownUpload struct {
ID int64 `json:"id"`
Size int64 `json:"size"`
Filename string `json:"filename"`
CreatedAt *time.Time `json:"created_at"`
UploadedBy *User `json:"uploaded_by"`
}
MarkdownUpload represents a single markdown upload.
GitLab API docs: https://docs.gitlab.com/api/project_markdown_uploads/ https://docs.gitlab.com/api/group_markdown_uploads/
func (MarkdownUpload) String ¶
func (m MarkdownUpload) String() string
String gets a string representation of a MarkdownUpload.
GitLab API docs: https://docs.gitlab.com/api/project_markdown_uploads/ https://docs.gitlab.com/api/group_markdown_uploads/
type MarkdownUploadedFile ¶
type MarkdownUploadedFile struct {
ID int64 `json:"id"`
Alt string `json:"alt"`
URL string `json:"url"`
FullPath string `json:"full_path"`
Markdown string `json:"markdown"`
}
MarkdownUploadedFile represents a single markdown uploaded file.
GitLab API docs: https://docs.gitlab.com/api/project_markdown_uploads/
type MatrixIntegration ¶
type MatrixIntegration struct {
Integration
Properties MatrixIntegrationProperties `json:"properties"`
}
MatrixIntegration represents the Matrix integration settings.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#matrix-notifications
type MatrixIntegrationProperties ¶
type MatrixIntegrationProperties struct {
Hostname string `json:"hostname,omitempty"`
Room string `json:"room,omitempty"`
NotifyOnlyBrokenPipelines bool `json:"notify_only_broken_pipelines,omitempty"`
BranchesToBeNotified string `json:"branches_to_be_notified,omitempty"`
}
MatrixIntegrationProperties represents Matrix specific properties.
type MatrixService ¶
type MatrixService struct {
Service
Properties *MatrixServiceProperties `json:"properties"`
}
MatrixService represents Matrix service settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#matrix-notifications
type MatrixServiceProperties ¶
type MatrixServiceProperties struct {
Hostname string `json:"hostname"`
Token string `json:"token"`
Room string `json:"room"`
NotifyOnlyBrokenPipelines BoolValue `json:"notify_only_broken_pipelines"`
BranchesToBeNotified string `json:"branches_to_be_notified"`
UseInheritedSettings BoolValue `json:"use_inherited_settings"`
}
MatrixServiceProperties represents Matrix specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#matrix-notifications
type MattermostIntegration ¶
type MattermostIntegration struct {
Integration
Properties MattermostIntegrationProperties `json:"properties"`
}
MattermostIntegration represents the Mattermost integration settings.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#mattermost-notifications
type MattermostIntegrationProperties ¶
type MattermostIntegrationProperties struct {
Username string `json:"username,omitempty"`
Channel string `json:"channel,omitempty"`
NotifyOnlyBrokenPipelines bool `json:"notify_only_broken_pipelines,omitempty"`
BranchesToBeNotified string `json:"branches_to_be_notified,omitempty"`
LabelsToBeNotified string `json:"labels_to_be_notified,omitempty"`
LabelsToBeNotifiedBehavior string `json:"labels_to_be_notified_behavior,omitempty"`
PushChannel string `json:"push_channel,omitempty"`
IssueChannel string `json:"issue_channel,omitempty"`
ConfidentialIssueChannel string `json:"confidential_issue_channel,omitempty"`
MergeRequestChannel string `json:"merge_request_channel,omitempty"`
NoteChannel string `json:"note_channel,omitempty"`
ConfidentialNoteChannel string `json:"confidential_note_channel,omitempty"`
TagPushChannel string `json:"tag_push_channel,omitempty"`
PipelineChannel string `json:"pipeline_channel,omitempty"`
WikiPageChannel string `json:"wiki_page_channel,omitempty"`
DeploymentChannel string `json:"deployment_channel,omitempty"`
IncidentChannel string `json:"incident_channel,omitempty"`
}
MattermostIntegrationProperties represents Mattermost specific properties.
type MattermostService ¶
type MattermostService struct {
Service
Properties *MattermostServiceProperties `json:"properties"`
}
MattermostService represents Mattermost service settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#mattermost-notifications
type MattermostServiceProperties ¶
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"`
}
MattermostServiceProperties represents Mattermost specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#mattermost-notifications
type MattermostSlashCommandsProperties ¶
type MattermostSlashCommandsProperties struct {
Token string `json:"token"`
Username string `json:"username,omitempty"`
}
MattermostSlashCommandsProperties represents Mattermost slash commands specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#mattermost-slash-commands
type MattermostSlashCommandsService ¶
type MattermostSlashCommandsService struct {
Service
Properties *MattermostSlashCommandsProperties `json:"properties"`
}
MattermostSlashCommandsService represents Mattermost slash commands settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#mattermost-slash-commands
type MemberCreatedBy ¶
type MemberEvent ¶
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 int64 `json:"group_id"`
UserUsername string `json:"user_username"`
UserName string `json:"user_name"`
UserEmail string `json:"user_email"`
UserID int64 `json:"user_id"`
GroupAccess string `json:"group_access"`
GroupPlan string `json:"group_plan"`
ExpiresAt *time.Time `json:"expires_at"`
EventName string `json:"event_name"`
}
MemberEvent represents a member event.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#group-member-events
type MemberRole ¶
type MemberRole struct {
ID int64 `json:"id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
GroupID int64 `json:"group_id"`
BaseAccessLevel AccessLevelValue `json:"base_access_level"`
AdminCICDVariables bool `json:"admin_cicd_variables,omitempty"`
AdminComplianceFramework bool `json:"admin_compliance_framework,omitempty"`
AdminGroupMembers bool `json:"admin_group_member,omitempty"`
AdminMergeRequests bool `json:"admin_merge_request,omitempty"`
AdminPushRules bool `json:"admin_push_rules,omitempty"`
AdminTerraformState bool `json:"admin_terraform_state,omitempty"`
AdminVulnerability bool `json:"admin_vulnerability,omitempty"`
AdminWebHook bool `json:"admin_web_hook,omitempty"`
ArchiveProject bool `json:"archive_project,omitempty"`
ManageDeployTokens bool `json:"manage_deploy_tokens,omitempty"`
ManageGroupAccessTokens bool `json:"manage_group_access_tokens,omitempty"`
ManageMergeRequestSettings bool `json:"manage_merge_request_settings,omitempty"`
ManageProjectAccessTokens bool `json:"manage_project_access_tokens,omitempty"`
ManageSecurityPolicyLink bool `json:"manage_security_policy_link,omitempty"`
ReadCode bool `json:"read_code,omitempty"`
ReadRunners bool `json:"read_runners,omitempty"`
ReadDependency bool `json:"read_dependency,omitempty"`
ReadVulnerability bool `json:"read_vulnerability,omitempty"`
RemoveGroup bool `json:"remove_group,omitempty"`
RemoveProject bool `json:"remove_project,omitempty"`
}
MemberRole represents a GitLab member role.
GitLab API docs: https://docs.gitlab.com/api/member_roles/#list-all-member-roles-of-a-group
type MemberRolesService ¶
type MemberRolesService struct {
// contains filtered or unexported fields
}
MemberRolesService handles communication with the member roles related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/member_roles/#list-all-member-roles-of-a-group
func (*MemberRolesService) CreateInstanceMemberRole ¶
func (s *MemberRolesService) CreateInstanceMemberRole(opt *CreateMemberRoleOptions, options ...RequestOptionFunc) (*MemberRole, *Response, error)
CreateInstanceMemberRole creates an instance-wide member role.
GitLab API docs: https://docs.gitlab.com/api/member_roles/#create-a-instance-member-role
func (*MemberRolesService) CreateMemberRole ¶
func (s *MemberRolesService) CreateMemberRole(gid any, opt *CreateMemberRoleOptions, options ...RequestOptionFunc) (*MemberRole, *Response, error)
CreateMemberRole creates a new member role for a specified group.
GitLab API docs: https://docs.gitlab.com/api/member_roles/#add-a-member-role-to-a-group
func (*MemberRolesService) DeleteInstanceMemberRole ¶
func (s *MemberRolesService) DeleteInstanceMemberRole(memberRoleID int64, options ...RequestOptionFunc) (*Response, error)
DeleteInstanceMemberRole deletes a member role from a specified group.
GitLab API docs: https://docs.gitlab.com/api/member_roles/#delete-an-instance-member-role
func (*MemberRolesService) DeleteMemberRole ¶
func (s *MemberRolesService) DeleteMemberRole(gid any, memberRole int64, options ...RequestOptionFunc) (*Response, error)
DeleteMemberRole deletes a member role from a specified group.
GitLab API docs: https://docs.gitlab.com/api/member_roles/#remove-member-role-of-a-group
func (*MemberRolesService) ListInstanceMemberRoles ¶
func (s *MemberRolesService) ListInstanceMemberRoles(options ...RequestOptionFunc) ([]*MemberRole, *Response, error)
ListInstanceMemberRoles gets all member roles in an instance. Authentication as Administrator is required.
GitLab API docs: https://docs.gitlab.com/api/member_roles/#get-all-instance-member-roles
func (*MemberRolesService) ListMemberRoles ¶
func (s *MemberRolesService) ListMemberRoles(gid any, options ...RequestOptionFunc) ([]*MemberRole, *Response, error)
ListMemberRoles gets a list of member roles for a specified group.
GitLab API docs: https://docs.gitlab.com/api/member_roles/#get-all-group-member-roles
type MemberRolesServiceInterface ¶
type MemberRolesServiceInterface interface {
ListInstanceMemberRoles(options ...RequestOptionFunc) ([]*MemberRole, *Response, error)
CreateInstanceMemberRole(opt *CreateMemberRoleOptions, options ...RequestOptionFunc) (*MemberRole, *Response, error)
DeleteInstanceMemberRole(memberRoleID int64, options ...RequestOptionFunc) (*Response, error)
ListMemberRoles(gid any, options ...RequestOptionFunc) ([]*MemberRole, *Response, error)
CreateMemberRole(gid any, opt *CreateMemberRoleOptions, options ...RequestOptionFunc) (*MemberRole, *Response, error)
DeleteMemberRole(gid any, memberRole int64, options ...RequestOptionFunc) (*Response, error)
}
type MergeBaseOptions ¶
type MergeBaseOptions struct {
Ref *[]string `url:"refs[],omitempty" json:"refs,omitempty"`
}
MergeBaseOptions represents the available MergeBase() options.
GitLab API docs: https://docs.gitlab.com/api/repositories/#merge-base
type MergeCommentEvent ¶
type MergeCommentEvent struct {
ObjectKind string `json:"object_kind"`
EventType string `json:"event_type"`
User *EventUser `json:"user"`
ProjectID int64 `json:"project_id"`
Project MergeCommentEventProject `json:"project"`
ObjectAttributes MergeCommentEventObjectAttributes `json:"object_attributes"`
Repository *Repository `json:"repository"`
MergeRequest MergeCommentEventMergeRequest `json:"merge_request"`
}
MergeCommentEvent represents a comment on a merge event.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#comment-on-a-merge-request
type MergeCommentEventMergeRequest ¶
type MergeCommentEventMergeRequest struct {
ID int64 `json:"id"`
TargetBranch string `json:"target_branch"`
SourceBranch string `json:"source_branch"`
SourceProjectID int64 `json:"source_project_id"`
AuthorID int64 `json:"author_id"`
AssigneeID int64 `json:"assignee_id"`
AssigneeIDs []int64 `json:"assignee_ids"`
ReviewerIDs []int64 `json:"reviewer_ids"`
Title string `json:"title"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
MilestoneID int64 `json:"milestone_id"`
State string `json:"state"`
MergeStatus string `json:"merge_status"`
TargetProjectID int64 `json:"target_project_id"`
IID int64 `json:"iid"`
Description string `json:"description"`
Position int64 `json:"position"`
Labels []*EventLabel `json:"labels"`
LockedAt string `json:"locked_at"`
UpdatedByID int64 `json:"updated_by_id"`
MergeError string `json:"merge_error"`
MergeParams *MergeParams `json:"merge_params"`
MergeWhenPipelineSucceeds bool `json:"merge_when_pipeline_succeeds"`
MergeUserID int64 `json:"merge_user_id"`
MergeCommitSHA string `json:"merge_commit_sha"`
DeletedAt string `json:"deleted_at"`
InProgressMergeCommitSHA string `json:"in_progress_merge_commit_sha"`
LockVersion int64 `json:"lock_version"`
ApprovalsBeforeMerge string `json:"approvals_before_merge"`
RebaseCommitSHA string `json:"rebase_commit_sha"`
TimeEstimate int64 `json:"time_estimate"`
Squash bool `json:"squash"`
LastEditedAt string `json:"last_edited_at"`
LastEditedByID int64 `json:"last_edited_by_id"`
Source *Repository `json:"source"`
Target *Repository `json:"target"`
LastCommit EventMergeRequestLastCommit `json:"last_commit"`
WorkInProgress bool `json:"work_in_progress"`
TotalTimeSpent int64 `json:"total_time_spent"`
HeadPipelineID int64 `json:"head_pipeline_id"`
Assignee *EventUser `json:"assignee"`
DetailedMergeStatus string `json:"detailed_merge_status"`
URL string `json:"url"`
}
type MergeCommentEventObjectAttributes ¶
type MergeCommentEventObjectAttributes struct {
Attachment string `json:"attachment"`
AuthorID int64 `json:"author_id"`
ChangePosition *NotePosition `json:"change_position"`
CommitID string `json:"commit_id"`
CreatedAt string `json:"created_at"`
DiscussionID string `json:"discussion_id"`
ID int64 `json:"id"`
LineCode string `json:"line_code"`
Note string `json:"note"`
NoteableID int64 `json:"noteable_id"`
NoteableType string `json:"noteable_type"`
OriginalPosition *NotePosition `json:"original_position"`
Position *NotePosition `json:"position"`
ProjectID int64 `json:"project_id"`
ResolvedAt string `json:"resolved_at"`
ResolvedByID int64 `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 int64 `json:"updated_by_id"`
Description string `json:"description"`
Action CommentEventAction `json:"action"`
URL string `json:"url"`
}
type MergeCommentEventProject ¶
type MergeCommentEventProject struct {
ID int64 `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"`
}
type MergeEvent ¶
type MergeEvent struct {
ObjectKind string `json:"object_kind"`
EventType string `json:"event_type"`
User *EventUser `json:"user"`
Project MergeEventProject `json:"project"`
ObjectAttributes MergeEventObjectAttributes `json:"object_attributes"`
Repository *Repository `json:"repository"`
Labels []*EventLabel `json:"labels"`
Changes MergeEventChanges `json:"changes"`
Assignees []*EventUser `json:"assignees"`
Reviewers []*EventUser `json:"reviewers"`
}
MergeEvent represents a merge event.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#merge-request-events
type MergeEventChanges ¶
type MergeEventChanges struct {
Assignees EventChangesAssignees `json:"assignees"`
Reviewers MergeEventChangesReviewers `json:"reviewers"`
Description EventChangesDescription `json:"description"`
Draft MergeEventChangesDraft `json:"draft"`
Labels EventChangesLabels `json:"labels"`
LastEditedAt MergeEventChangesLastEditedAt `json:"last_edited_at"`
LastEditedByID MergeEventChangesLastEditedByID `json:"last_edited_by_id"`
MergeStatus MergeEventChangesMergeStatus `json:"merge_status"`
MilestoneID MergeEventChangesMilestoneID `json:"milestone_id"`
SourceBranch MergeEventChangesSourceBranch `json:"source_branch"`
SourceProjectID MergeEventChangesSourceProjectID `json:"source_project_id"`
StateID EventChangesStateID `json:"state_id"`
TargetBranch MergeEventChangesTargetBranch `json:"target_branch"`
TargetProjectID MergeEventChangesTargetProjectID `json:"target_project_id"`
Title EventChangesTitle `json:"title"`
UpdatedAt EventChangesUpdatedAt `json:"updated_at"`
UpdatedByID EventChangesUpdatedByID `json:"updated_by_id"`
}
type MergeEventChangesDraft ¶
type MergeEventObjectAttributes ¶
type MergeEventObjectAttributes struct {
ID int64 `json:"id"`
TargetBranch string `json:"target_branch"`
SourceBranch string `json:"source_branch"`
SourceProjectID int64 `json:"source_project_id"`
AuthorID int64 `json:"author_id"`
AssigneeID int64 `json:"assignee_id"`
AssigneeIDs []int64 `json:"assignee_ids"`
ReviewerIDs []int64 `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 int64 `json:"last_edited_by_id"`
MilestoneID int64 `json:"milestone_id"`
StateID StateID `json:"state_id"`
State string `json:"state"`
MergeStatus string `json:"merge_status"`
TargetProjectID int64 `json:"target_project_id"`
IID int64 `json:"iid"`
Description string `json:"description"`
Position int64 `json:"position"`
LockedAt string `json:"locked_at"`
UpdatedByID int64 `json:"updated_by_id"`
MergeError string `json:"merge_error"`
MergeParams *MergeParams `json:"merge_params"`
MergeWhenBuildSucceeds bool `json:"merge_when_build_succeeds"`
MergeUserID int64 `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 int64 `json:"lock_version"`
TimeEstimate int64 `json:"time_estimate"`
Source *Repository `json:"source"`
Target *Repository `json:"target"`
HeadPipelineID *int64 `json:"head_pipeline_id"`
LastCommit EventMergeRequestLastCommit `json:"last_commit"`
BlockingDiscussionsResolved bool `json:"blocking_discussions_resolved"`
WorkInProgress bool `json:"work_in_progress"`
Draft bool `json:"draft"`
TotalTimeSpent int64 `json:"total_time_spent"`
TimeChange int64 `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"`
System bool `json:"system"`
SystemAction string `json:"system_action"`
}
type MergeEventProject ¶
type MergeEventProject struct {
ID int64 `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"`
}
type MergeMethodValue ¶
type MergeMethodValue string
MergeMethodValue represents a project merge type within GitLab.
GitLab API docs: https://docs.gitlab.com/api/projects/#project-merge-method
const ( NoFastForwardMerge MergeMethodValue = "merge" FastForwardMerge MergeMethodValue = "ff" RebaseMerge MergeMethodValue = "rebase_merge" )
List of available merge type
GitLab API docs: https://docs.gitlab.com/api/projects/#project-merge-method
type MergeParams ¶
type MergeParams struct {
ForceRemoveSourceBranch bool `json:"force_remove_source_branch"`
}
MergeParams represents the merge params.
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 ¶
type MergeRequest struct {
BasicMergeRequest
MergeError string `json:"merge_error"`
Subscribed bool `json:"subscribed"`
ChangesCount string `json:"changes_count"`
User MergeRequestUser `json:"user"`
LatestBuildStartedAt *time.Time `json:"latest_build_started_at"`
LatestBuildFinishedAt *time.Time `json:"latest_build_finished_at"`
FirstDeployedToProductionAt *time.Time `json:"first_deployed_to_production_at"`
Pipeline *PipelineInfo `json:"pipeline"`
HeadPipeline *Pipeline `json:"head_pipeline"`
DiffRefs MergeRequestDiffRefs `json:"diff_refs"`
RebaseInProgress bool `json:"rebase_in_progress"`
DivergedCommitsCount int64 `json:"diverged_commits_count"`
FirstContribution bool `json:"first_contribution"`
// Deprecated: use Draft instead
WorkInProgress bool `json:"work_in_progress"`
}
MergeRequest represents a GitLab merge request.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/
func (MergeRequest) String ¶
func (m MergeRequest) String() string
func (*MergeRequest) UnmarshalJSON ¶
func (m *MergeRequest) UnmarshalJSON(data []byte) error
type MergeRequestApprovalRule ¶
type MergeRequestApprovalRule struct {
ID int64 `json:"id"`
Name string `json:"name"`
RuleType string `json:"rule_type"`
ReportType string `json:"report_type"`
EligibleApprovers []*BasicUser `json:"eligible_approvers"`
ApprovalsRequired int64 `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"`
}
MergeRequestApprovalRule represents a GitLab merge request approval rule.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#get-merge-request-approval-rules
func (MergeRequestApprovalRule) String ¶
func (s MergeRequestApprovalRule) String() string
String is a stringify for MergeRequestApprovalRule
type MergeRequestApprovalSetting ¶
type MergeRequestApprovalSetting struct {
Value bool `json:"value"`
Locked bool `json:"locked"`
InheritedFrom string `json:"inherited_from"`
}
MergeRequestApprovalSetting represents an individual merge request approval setting.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approval_settings/
type MergeRequestApprovalSettings ¶
type MergeRequestApprovalSettings struct {
AllowAuthorApproval MergeRequestApprovalSetting `json:"allow_author_approval"`
AllowCommitterApproval MergeRequestApprovalSetting `json:"allow_committer_approval"`
AllowOverridesToApproverListPerMergeRequest MergeRequestApprovalSetting `json:"allow_overrides_to_approver_list_per_merge_request"`
RetainApprovalsOnPush MergeRequestApprovalSetting `json:"retain_approvals_on_push"`
SelectiveCodeOwnerRemovals MergeRequestApprovalSetting `json:"selective_code_owner_removals"`
RequirePasswordToApprove MergeRequestApprovalSetting `json:"require_password_to_approve"`
RequireReauthenticationToApprove MergeRequestApprovalSetting `json:"require_reauthentication_to_approve"`
}
MergeRequestApprovalSettings represents the merge request approval settings.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approval_settings/
type MergeRequestApprovalSettingsService ¶
type MergeRequestApprovalSettingsService struct {
// contains filtered or unexported fields
}
MergeRequestApprovalSettingsService handles communication with the merge requests approval settings related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approval_settings/
func (*MergeRequestApprovalSettingsService) GetGroupMergeRequestApprovalSettings ¶
func (s *MergeRequestApprovalSettingsService) GetGroupMergeRequestApprovalSettings(gid any, options ...RequestOptionFunc) (*MergeRequestApprovalSettings, *Response, error)
GetGroupMergeRequestApprovalSettings gets the merge request approval settings of a group.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approval_settings/#get-group-mr-approval-settings
func (*MergeRequestApprovalSettingsService) GetProjectMergeRequestApprovalSettings ¶
func (s *MergeRequestApprovalSettingsService) GetProjectMergeRequestApprovalSettings(pid any, options ...RequestOptionFunc) (*MergeRequestApprovalSettings, *Response, error)
GetProjectMergeRequestApprovalSettings gets the merge request approval settings of a project.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approval_settings/#get-project-mr-approval-settings
func (*MergeRequestApprovalSettingsService) UpdateGroupMergeRequestApprovalSettings ¶
func (s *MergeRequestApprovalSettingsService) UpdateGroupMergeRequestApprovalSettings(gid any, opt *UpdateGroupMergeRequestApprovalSettingsOptions, options ...RequestOptionFunc) (*MergeRequestApprovalSettings, *Response, error)
UpdateGroupMergeRequestApprovalSettings updates the merge request approval settings of a group.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approval_settings/#update-group-mr-approval-settings
func (*MergeRequestApprovalSettingsService) UpdateProjectMergeRequestApprovalSettings ¶
func (s *MergeRequestApprovalSettingsService) UpdateProjectMergeRequestApprovalSettings(pid any, opt *UpdateProjectMergeRequestApprovalSettingsOptions, options ...RequestOptionFunc) (*MergeRequestApprovalSettings, *Response, error)
UpdateProjectMergeRequestApprovalSettings updates the merge request approval settings of a project.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approval_settings/#update-project-mr-approval-settings
type MergeRequestApprovalSettingsServiceInterface ¶
type MergeRequestApprovalSettingsServiceInterface interface {
GetGroupMergeRequestApprovalSettings(gid any, options ...RequestOptionFunc) (*MergeRequestApprovalSettings, *Response, error)
UpdateGroupMergeRequestApprovalSettings(gid any, opt *UpdateGroupMergeRequestApprovalSettingsOptions, options ...RequestOptionFunc) (*MergeRequestApprovalSettings, *Response, error)
GetProjectMergeRequestApprovalSettings(pid any, options ...RequestOptionFunc) (*MergeRequestApprovalSettings, *Response, error)
UpdateProjectMergeRequestApprovalSettings(pid any, opt *UpdateProjectMergeRequestApprovalSettingsOptions, options ...RequestOptionFunc) (*MergeRequestApprovalSettings, *Response, error)
}
type MergeRequestApprovalState ¶
type MergeRequestApprovalState struct {
ApprovalRulesOverwritten bool `json:"approval_rules_overwritten"`
Rules []*MergeRequestApprovalRule `json:"rules"`
}
MergeRequestApprovalState represents a GitLab merge request approval state.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#get-the-approval-state-of-merge-requests
type MergeRequestApprovals ¶
type MergeRequestApprovals struct {
ID int64 `json:"id"`
IID int64 `json:"iid"`
ProjectID int64 `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 int64 `json:"approvals_before_merge"`
ApprovalsRequired int64 `json:"approvals_required"`
ApprovalsLeft int64 `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"`
}
MergeRequestApprovals represents GitLab merge request approvals.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#single-merge-request-approval
func (MergeRequestApprovals) String ¶
func (m MergeRequestApprovals) String() string
type MergeRequestApprovalsService ¶
type MergeRequestApprovalsService struct {
// contains filtered or unexported fields
}
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/api/merge_request_approvals/
func (*MergeRequestApprovalsService) ApproveMergeRequest ¶
func (s *MergeRequestApprovalsService) ApproveMergeRequest(pid any, mr int64, 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/api/merge_request_approvals/#approve-merge-request
func (*MergeRequestApprovalsService) ChangeApprovalConfiguration
deprecated
func (s *MergeRequestApprovalsService) ChangeApprovalConfiguration(pid any, mergeRequest int64, opt *ChangeMergeRequestApprovalConfigurationOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
ChangeApprovalConfiguration updates the approval configuration of a merge request.
Deprecated: in GitLab 16.0
func (*MergeRequestApprovalsService) CreateApprovalRule ¶
func (s *MergeRequestApprovalsService) CreateApprovalRule(pid any, mergeRequest int64, opt *CreateMergeRequestApprovalRuleOptions, options ...RequestOptionFunc) (*MergeRequestApprovalRule, *Response, error)
CreateApprovalRule creates a new MR level approval rule.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#create-merge-request-rule
func (*MergeRequestApprovalsService) DeleteApprovalRule ¶
func (s *MergeRequestApprovalsService) DeleteApprovalRule(pid any, mergeRequest int64, approvalRule int64, options ...RequestOptionFunc) (*Response, error)
DeleteApprovalRule deletes a mr level approval rule.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#delete-merge-request-rule
func (*MergeRequestApprovalsService) GetApprovalRules ¶
func (s *MergeRequestApprovalsService) GetApprovalRules(pid any, mergeRequest int64, options ...RequestOptionFunc) ([]*MergeRequestApprovalRule, *Response, error)
GetApprovalRules requests information about a merge request's approval rules
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#get-merge-request-approval-rules
func (*MergeRequestApprovalsService) GetApprovalState ¶
func (s *MergeRequestApprovalsService) GetApprovalState(pid any, mergeRequest int64, options ...RequestOptionFunc) (*MergeRequestApprovalState, *Response, error)
GetApprovalState requests information about a merge request's approval state
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#get-the-approval-state-of-merge-requests
func (*MergeRequestApprovalsService) GetConfiguration ¶
func (s *MergeRequestApprovalsService) GetConfiguration(pid any, mr int64, options ...RequestOptionFunc) (*MergeRequestApprovals, *Response, error)
GetConfiguration shows information about single merge request approvals
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#single-merge-request-approval
func (*MergeRequestApprovalsService) ResetApprovalsOfMergeRequest ¶
func (s *MergeRequestApprovalsService) ResetApprovalsOfMergeRequest(pid any, mr int64, 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/api/merge_request_approvals/#reset-approvals-of-a-merge-request
func (*MergeRequestApprovalsService) UnapproveMergeRequest ¶
func (s *MergeRequestApprovalsService) UnapproveMergeRequest(pid any, mr int64, options ...RequestOptionFunc) (*Response, error)
UnapproveMergeRequest unapproves a previously approved merge request on GitLab.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#unapprove-merge-request
func (*MergeRequestApprovalsService) UpdateApprovalRule ¶
func (s *MergeRequestApprovalsService) UpdateApprovalRule(pid any, mergeRequest int64, approvalRule int64, opt *UpdateMergeRequestApprovalRuleOptions, options ...RequestOptionFunc) (*MergeRequestApprovalRule, *Response, error)
UpdateApprovalRule updates an existing approval rule with new options.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#update-merge-request-rule
type MergeRequestApprovalsServiceInterface ¶
type MergeRequestApprovalsServiceInterface interface {
ApproveMergeRequest(pid any, mr int64, opt *ApproveMergeRequestOptions, options ...RequestOptionFunc) (*MergeRequestApprovals, *Response, error)
UnapproveMergeRequest(pid any, mr int64, options ...RequestOptionFunc) (*Response, error)
ResetApprovalsOfMergeRequest(pid any, mr int64, options ...RequestOptionFunc) (*Response, error)
GetConfiguration(pid any, mr int64, options ...RequestOptionFunc) (*MergeRequestApprovals, *Response, error)
ChangeApprovalConfiguration(pid any, mergeRequest int64, opt *ChangeMergeRequestApprovalConfigurationOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
GetApprovalRules(pid any, mergeRequest int64, options ...RequestOptionFunc) ([]*MergeRequestApprovalRule, *Response, error)
GetApprovalState(pid any, mergeRequest int64, options ...RequestOptionFunc) (*MergeRequestApprovalState, *Response, error)
CreateApprovalRule(pid any, mergeRequest int64, opt *CreateMergeRequestApprovalRuleOptions, options ...RequestOptionFunc) (*MergeRequestApprovalRule, *Response, error)
UpdateApprovalRule(pid any, mergeRequest int64, approvalRule int64, opt *UpdateMergeRequestApprovalRuleOptions, options ...RequestOptionFunc) (*MergeRequestApprovalRule, *Response, error)
DeleteApprovalRule(pid any, mergeRequest int64, approvalRule int64, options ...RequestOptionFunc) (*Response, error)
}
type MergeRequestApproverGroup ¶
type MergeRequestApproverGroup struct {
Group MergeRequestApproverNestedGroup `json:"group"`
}
MergeRequestApproverGroup represents GitLab project level merge request approver group.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#project-approval-rules
type MergeRequestApproverNestedGroup ¶
type MergeRequestApproverNestedGroup struct {
ID int64 `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 ¶
type MergeRequestApproverUser struct {
User *BasicUser
}
MergeRequestApproverUser represents GitLab project level merge request approver user.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#project-approval-rules
type MergeRequestContextCommitsService ¶
type MergeRequestContextCommitsService struct {
// contains filtered or unexported fields
}
MergeRequestContextCommitsService handles communication with the merge request context commits related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/merge_request_context_commits/
func (*MergeRequestContextCommitsService) CreateMergeRequestContextCommits ¶
func (s *MergeRequestContextCommitsService) CreateMergeRequestContextCommits(pid any, mergeRequest int64, opt *CreateMergeRequestContextCommitsOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)
func (*MergeRequestContextCommitsService) DeleteMergeRequestContextCommits ¶
func (s *MergeRequestContextCommitsService) DeleteMergeRequestContextCommits(pid any, mergeRequest int64, opt *DeleteMergeRequestContextCommitsOptions, options ...RequestOptionFunc) (*Response, error)
func (*MergeRequestContextCommitsService) ListMergeRequestContextCommits ¶
func (s *MergeRequestContextCommitsService) ListMergeRequestContextCommits(pid any, mergeRequest int64, options ...RequestOptionFunc) ([]*Commit, *Response, error)
type MergeRequestContextCommitsServiceInterface ¶
type MergeRequestContextCommitsServiceInterface interface {
// ListMergeRequestContextCommits gets a list of merge request context commits.
//
// GitLab API docs:
// https://docs.gitlab.com/api/merge_request_context_commits/#list-mr-context-commits
ListMergeRequestContextCommits(pid any, mergeRequest int64, options ...RequestOptionFunc) ([]*Commit, *Response, error)
// CreateMergeRequestContextCommits creates a list of merge request context
// commits.
//
// GitLab API docs:
// https://docs.gitlab.com/api/merge_request_context_commits/#create-mr-context-commits
CreateMergeRequestContextCommits(pid any, mergeRequest int64, opt *CreateMergeRequestContextCommitsOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)
// DeleteMergeRequestContextCommits deletes a list of merge request context
// commits.
//
// GitLab API docs:
// https://docs.gitlab.com/api/merge_request_context_commits/#delete-mr-context-commits
DeleteMergeRequestContextCommits(pid any, mergeRequest int64, opt *DeleteMergeRequestContextCommitsOptions, options ...RequestOptionFunc) (*Response, error)
}
MergeRequestContextCommitsServiceInterface handles communication with the merge request context commits related methods of the GitLab API.
type MergeRequestDependency ¶
type MergeRequestDependency struct {
ID int64 `json:"id"`
BlockingMergeRequest BlockingMergeRequest `json:"blocking_merge_request"`
ProjectID int64 `json:"project_id"`
}
MergeRequestDependency represents a GitLab merge request dependency.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#create-a-merge-request-dependency
func (MergeRequestDependency) String ¶
func (m MergeRequestDependency) String() string
type MergeRequestDiff ¶
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"`
GeneratedFile bool `json:"generated_file"`
Collapsed bool `json:"collapsed"`
TooLarge bool `json:"too_large"`
}
MergeRequestDiff represents GitLab merge request diff.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#list-merge-request-diffs
type MergeRequestDiffRefs ¶
type MergeRequestDiffRefs struct {
BaseSha string `json:"base_sha"`
HeadSha string `json:"head_sha"`
StartSha string `json:"start_sha"`
}
MergeRequestDiffRefs represents a GitLab merge request diff refs.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/
func (MergeRequestDiffRefs) String ¶
func (d MergeRequestDiffRefs) String() string
type MergeRequestDiffVersion ¶
type MergeRequestDiffVersion struct {
ID int64 `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 int64 `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"`
}
MergeRequestDiffVersion represents GitLab merge request version.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#get-merge-request-diff-versions
func (MergeRequestDiffVersion) String ¶
func (m MergeRequestDiffVersion) String() string
type MergeRequestReviewer ¶
type MergeRequestReviewer struct {
User *BasicUser `json:"user"`
State string `json:"state"`
CreatedAt *time.Time `json:"created_at"`
}
MergeRequestReviewer represents a reviewer entry returned by the reviewers API. Matches the JSON shape used in tests: {"user": {...}, "state": "...", "created_at": "..."} Placed here because it's used by MergeRequestsService.GetMergeRequestReviewers and tests/mock.
type MergeRequestUser ¶
type MergeRequestUser struct {
CanMerge bool `json:"can_merge"`
}
MergeRequestUser represents a GitLab merge request user.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/
func (MergeRequestUser) String ¶
func (u MergeRequestUser) String() string
type MergeRequestsCount ¶
type MergeRequestsCount struct {
MergeRequestsCount int64 `url:"merge_requests_count" json:"merge_requests_count"`
}
MergeRequestsCount represents the total count of recently created merge requests in a group.
GitLab API docs: https://docs.gitlab.com/api/group_activity_analytics/#get-count-of-recently-created-merge-requests-for-group
type MergeRequestsService ¶
type MergeRequestsService struct {
// contains filtered or unexported fields
}
MergeRequestsService handles communication with the merge requests related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/
func (*MergeRequestsService) AcceptMergeRequest ¶
func (s *MergeRequestsService) AcceptMergeRequest(pid any, mergeRequest int64, 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/api/merge_requests/#merge-a-merge-request
func (*MergeRequestsService) AddSpentTime ¶
func (s *MergeRequestsService) AddSpentTime(pid any, mergeRequest int64, opt *AddSpentTimeOptions, options ...RequestOptionFunc) (*TimeStats, *Response, error)
AddSpentTime adds spent time for a single project merge request.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#add-spent-time-for-a-merge-request
func (*MergeRequestsService) CancelMergeWhenPipelineSucceeds ¶
func (s *MergeRequestsService) CancelMergeWhenPipelineSucceeds(pid any, mergeRequest int64, 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/api/merge_requests/#cancel-merge-when-pipeline-succeeds
func (*MergeRequestsService) CreateMergeRequest ¶
func (s *MergeRequestsService) CreateMergeRequest(pid any, opt *CreateMergeRequestOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
CreateMergeRequest creates a new merge request.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#create-mr
func (*MergeRequestsService) CreateMergeRequestDependency ¶
func (s *MergeRequestsService) CreateMergeRequestDependency(pid any, mergeRequest int64, opts CreateMergeRequestDependencyOptions, options ...RequestOptionFunc) (*MergeRequestDependency, *Response, error)
CreateMergeRequestDependency creates a new merge request dependency for a given merge request.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#create-a-merge-request-dependency
func (*MergeRequestsService) CreateMergeRequestPipeline ¶
func (s *MergeRequestsService) CreateMergeRequestPipeline(pid any, mergeRequest int64, options ...RequestOptionFunc) (*PipelineInfo, *Response, error)
CreateMergeRequestPipeline creates a new pipeline for a merge request.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#create-merge-request-pipeline
func (*MergeRequestsService) CreateTodo ¶
func (s *MergeRequestsService) CreateTodo(pid any, mergeRequest int64, 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/api/merge_requests/#create-a-to-do-item
func (*MergeRequestsService) DeleteMergeRequest ¶
func (s *MergeRequestsService) DeleteMergeRequest(pid any, mergeRequest int64, options ...RequestOptionFunc) (*Response, error)
DeleteMergeRequest deletes a merge request.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#delete-a-merge-request
func (*MergeRequestsService) DeleteMergeRequestDependency ¶
func (s *MergeRequestsService) DeleteMergeRequestDependency(pid any, mergeRequest int64, blockingMergeRequest int64, options ...RequestOptionFunc) (*Response, error)
DeleteMergeRequestDependency deletes a merge request dependency for a given merge request.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#delete-a-merge-request-dependency
func (*MergeRequestsService) GetIssuesClosedOnMerge ¶
func (s *MergeRequestsService) GetIssuesClosedOnMerge(pid any, mergeRequest int64, 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/api/merge_requests/#list-issues-that-close-on-merge
func (*MergeRequestsService) GetMergeRequest ¶
func (s *MergeRequestsService) GetMergeRequest(pid any, mergeRequest int64, opt *GetMergeRequestsOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
GetMergeRequest shows information about a single merge request.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#get-single-mr
func (*MergeRequestsService) GetMergeRequestApprovals ¶
func (s *MergeRequestsService) GetMergeRequestApprovals(pid any, mergeRequest int64, options ...RequestOptionFunc) (*MergeRequestApprovals, *Response, error)
GetMergeRequestApprovals gets information about a merge requests approvals
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#single-merge-request-approval
func (*MergeRequestsService) GetMergeRequestChanges
deprecated
func (s *MergeRequestsService) GetMergeRequestChanges(pid any, mergeRequest int64, 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/api/merge_requests/#get-single-merge-request-changes
func (*MergeRequestsService) GetMergeRequestCommits ¶
func (s *MergeRequestsService) GetMergeRequestCommits(pid any, mergeRequest int64, opt *GetMergeRequestCommitsOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)
GetMergeRequestCommits gets a list of merge request commits.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#get-single-merge-request-commits
func (*MergeRequestsService) GetMergeRequestDependencies ¶
func (s *MergeRequestsService) GetMergeRequestDependencies(pid any, mergeRequest int64, options ...RequestOptionFunc) ([]MergeRequestDependency, *Response, error)
GetMergeRequestDependencies gets a list of merge request dependencies.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#get-merge-request-dependencies
func (*MergeRequestsService) GetMergeRequestDiffVersions ¶
func (s *MergeRequestsService) GetMergeRequestDiffVersions(pid any, mergeRequest int64, opt *GetMergeRequestDiffVersionsOptions, options ...RequestOptionFunc) ([]*MergeRequestDiffVersion, *Response, error)
GetMergeRequestDiffVersions get a list of merge request diff versions.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#get-merge-request-diff-versions
func (*MergeRequestsService) GetMergeRequestParticipants ¶
func (s *MergeRequestsService) GetMergeRequestParticipants(pid any, mergeRequest int64, options ...RequestOptionFunc) ([]*BasicUser, *Response, error)
GetMergeRequestParticipants gets a list of merge request participants.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#get-single-merge-request-participants
func (*MergeRequestsService) GetMergeRequestReviewers ¶
func (s *MergeRequestsService) GetMergeRequestReviewers(pid any, mergeRequest int64, options ...RequestOptionFunc) ([]*MergeRequestReviewer, *Response, error)
GetMergeRequestReviewers gets a list of merge request reviewers.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#get-single-merge-request-reviewers
func (*MergeRequestsService) GetSingleMergeRequestDiffVersion ¶
func (s *MergeRequestsService) GetSingleMergeRequestDiffVersion(pid any, mergeRequest, version int64, opt *GetSingleMergeRequestDiffVersionOptions, options ...RequestOptionFunc) (*MergeRequestDiffVersion, *Response, error)
GetSingleMergeRequestDiffVersion get a single MR diff version
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#get-a-single-merge-request-diff-version
func (*MergeRequestsService) GetTimeSpent ¶
func (s *MergeRequestsService) GetTimeSpent(pid any, mergeRequest int64, options ...RequestOptionFunc) (*TimeStats, *Response, error)
GetTimeSpent gets the spent time for a single project merge request.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#get-time-tracking-stats
func (*MergeRequestsService) ListGroupMergeRequests ¶
func (s *MergeRequestsService) ListGroupMergeRequests(gid any, opt *ListGroupMergeRequestsOptions, options ...RequestOptionFunc) ([]*BasicMergeRequest, *Response, error)
ListGroupMergeRequests gets all merge requests for this group.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#list-group-merge-requests
func (*MergeRequestsService) ListMergeRequestDiffs ¶
func (s *MergeRequestsService) ListMergeRequestDiffs(pid any, mergeRequest int64, 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/api/merge_requests/#list-merge-request-diffs
func (*MergeRequestsService) ListMergeRequestPipelines ¶
func (s *MergeRequestsService) ListMergeRequestPipelines(pid any, mergeRequest int64, options ...RequestOptionFunc) ([]*PipelineInfo, *Response, error)
ListMergeRequestPipelines gets all pipelines for the provided merge request.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#list-merge-request-pipelines
func (*MergeRequestsService) ListMergeRequests ¶
func (s *MergeRequestsService) ListMergeRequests(opt *ListMergeRequestsOptions, options ...RequestOptionFunc) ([]*BasicMergeRequest, *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/api/merge_requests/#list-merge-requests
func (*MergeRequestsService) ListProjectMergeRequests ¶
func (s *MergeRequestsService) ListProjectMergeRequests(pid any, opt *ListProjectMergeRequestsOptions, options ...RequestOptionFunc) ([]*BasicMergeRequest, *Response, error)
ListProjectMergeRequests gets all merge requests for this project.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#list-project-merge-requests
func (*MergeRequestsService) ListRelatedIssues ¶
func (s *MergeRequestsService) ListRelatedIssues(pid any, mergeRequest int64, opt *ListRelatedIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
ListRelatedIssues gets all the issues related to provided merge request.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#list-issues-related-to-the-merge-request
func (*MergeRequestsService) RebaseMergeRequest ¶
func (s *MergeRequestsService) RebaseMergeRequest(pid any, mergeRequest int64, 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/api/merge_requests/#rebase-a-merge-request
func (*MergeRequestsService) ResetSpentTime ¶
func (s *MergeRequestsService) ResetSpentTime(pid any, mergeRequest int64, options ...RequestOptionFunc) (*TimeStats, *Response, error)
ResetSpentTime resets the spent time for a single project merge request.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#reset-spent-time-for-a-merge-request
func (*MergeRequestsService) ResetTimeEstimate ¶
func (s *MergeRequestsService) ResetTimeEstimate(pid any, mergeRequest int64, options ...RequestOptionFunc) (*TimeStats, *Response, error)
ResetTimeEstimate resets the time estimate for a single project merge request.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#reset-the-time-estimate-for-a-merge-request
func (*MergeRequestsService) SetTimeEstimate ¶
func (s *MergeRequestsService) SetTimeEstimate(pid any, mergeRequest int64, 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/api/merge_requests/#set-a-time-estimate-for-a-merge-request
func (*MergeRequestsService) ShowMergeRequestRawDiffs ¶
func (s *MergeRequestsService) ShowMergeRequestRawDiffs(pid any, mergeRequest int64, opt *ShowMergeRequestRawDiffsOptions, options ...RequestOptionFunc) ([]byte, *Response, error)
ShowMergeRequestRawDiffs Show raw diffs of the files changed in a merge request
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#show-merge-request-raw-diffs
func (*MergeRequestsService) SubscribeToMergeRequest ¶
func (s *MergeRequestsService) SubscribeToMergeRequest(pid any, mergeRequest int64, 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/api/merge_requests/#subscribe-to-a-merge-request
func (*MergeRequestsService) UnsubscribeFromMergeRequest ¶
func (s *MergeRequestsService) UnsubscribeFromMergeRequest(pid any, mergeRequest int64, 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/api/merge_requests/#unsubscribe-from-a-merge-request
func (*MergeRequestsService) UpdateMergeRequest ¶
func (s *MergeRequestsService) UpdateMergeRequest(pid any, mergeRequest int64, opt *UpdateMergeRequestOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
UpdateMergeRequest updates an existing project milestone.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#update-mr
type MergeRequestsServiceInterface ¶
type MergeRequestsServiceInterface interface {
ListMergeRequests(opt *ListMergeRequestsOptions, options ...RequestOptionFunc) ([]*BasicMergeRequest, *Response, error)
ListProjectMergeRequests(pid any, opt *ListProjectMergeRequestsOptions, options ...RequestOptionFunc) ([]*BasicMergeRequest, *Response, error)
ListGroupMergeRequests(gid any, opt *ListGroupMergeRequestsOptions, options ...RequestOptionFunc) ([]*BasicMergeRequest, *Response, error)
GetMergeRequest(pid any, mergeRequest int64, opt *GetMergeRequestsOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
GetMergeRequestApprovals(pid any, mergeRequest int64, options ...RequestOptionFunc) (*MergeRequestApprovals, *Response, error)
GetMergeRequestCommits(pid any, mergeRequest int64, opt *GetMergeRequestCommitsOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)
GetMergeRequestChanges(pid any, mergeRequest int64, opt *GetMergeRequestChangesOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
ListMergeRequestDiffs(pid any, mergeRequest int64, opt *ListMergeRequestDiffsOptions, options ...RequestOptionFunc) ([]*MergeRequestDiff, *Response, error)
ShowMergeRequestRawDiffs(pid any, mergeRequest int64, opt *ShowMergeRequestRawDiffsOptions, options ...RequestOptionFunc) ([]byte, *Response, error)
GetMergeRequestParticipants(pid any, mergeRequest int64, options ...RequestOptionFunc) ([]*BasicUser, *Response, error)
GetMergeRequestReviewers(pid any, mergeRequest int64, options ...RequestOptionFunc) ([]*MergeRequestReviewer, *Response, error)
ListMergeRequestPipelines(pid any, mergeRequest int64, options ...RequestOptionFunc) ([]*PipelineInfo, *Response, error)
CreateMergeRequestPipeline(pid any, mergeRequest int64, options ...RequestOptionFunc) (*PipelineInfo, *Response, error)
GetIssuesClosedOnMerge(pid any, mergeRequest int64, opt *GetIssuesClosedOnMergeOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
ListRelatedIssues(pid any, mergeRequest int64, opt *ListRelatedIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
CreateMergeRequest(pid any, opt *CreateMergeRequestOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
UpdateMergeRequest(pid any, mergeRequest int64, opt *UpdateMergeRequestOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
DeleteMergeRequest(pid any, mergeRequest int64, options ...RequestOptionFunc) (*Response, error)
AcceptMergeRequest(pid any, mergeRequest int64, opt *AcceptMergeRequestOptions, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
CancelMergeWhenPipelineSucceeds(pid any, mergeRequest int64, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
RebaseMergeRequest(pid any, mergeRequest int64, opt *RebaseMergeRequestOptions, options ...RequestOptionFunc) (*Response, error)
GetMergeRequestDiffVersions(pid any, mergeRequest int64, opt *GetMergeRequestDiffVersionsOptions, options ...RequestOptionFunc) ([]*MergeRequestDiffVersion, *Response, error)
GetSingleMergeRequestDiffVersion(pid any, mergeRequest, version int64, opt *GetSingleMergeRequestDiffVersionOptions, options ...RequestOptionFunc) (*MergeRequestDiffVersion, *Response, error)
SubscribeToMergeRequest(pid any, mergeRequest int64, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
UnsubscribeFromMergeRequest(pid any, mergeRequest int64, options ...RequestOptionFunc) (*MergeRequest, *Response, error)
CreateTodo(pid any, mergeRequest int64, options ...RequestOptionFunc) (*Todo, *Response, error)
SetTimeEstimate(pid any, mergeRequest int64, opt *SetTimeEstimateOptions, options ...RequestOptionFunc) (*TimeStats, *Response, error)
ResetTimeEstimate(pid any, mergeRequest int64, options ...RequestOptionFunc) (*TimeStats, *Response, error)
AddSpentTime(pid any, mergeRequest int64, opt *AddSpentTimeOptions, options ...RequestOptionFunc) (*TimeStats, *Response, error)
ResetSpentTime(pid any, mergeRequest int64, options ...RequestOptionFunc) (*TimeStats, *Response, error)
GetTimeSpent(pid any, mergeRequest int64, options ...RequestOptionFunc) (*TimeStats, *Response, error)
CreateMergeRequestDependency(pid any, mergeRequest int64, opts CreateMergeRequestDependencyOptions, options ...RequestOptionFunc) (*MergeRequestDependency, *Response, error)
DeleteMergeRequestDependency(pid any, mergeRequest int64, blockingMergeRequest int64, options ...RequestOptionFunc) (*Response, error)
GetMergeRequestDependencies(pid any, mergeRequest int64, options ...RequestOptionFunc) ([]MergeRequestDependency, *Response, error)
}
type MergeStatusCheck ¶
type MergeTrain ¶
type MergeTrain struct {
ID int64 `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 int64 `json:"duration"`
}
MergeTrain represents a GitLab merge train.
GitLab API docs: https://docs.gitlab.com/api/merge_trains/
type MergeTrainMergeRequest ¶
type MergeTrainMergeRequest struct {
ID int64 `json:"id"`
IID int64 `json:"iid"`
ProjectID int64 `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"`
}
MergeTrainMergeRequest represents a GitLab merge request inside merge train.
GitLab API docs: https://docs.gitlab.com/api/merge_trains/
type MergeTrainsService ¶
type MergeTrainsService struct {
// contains filtered or unexported fields
}
MergeTrainsService handles communication with the merge trains related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/merge_trains/
func (*MergeTrainsService) AddMergeRequestToMergeTrain ¶
func (s *MergeTrainsService) AddMergeRequestToMergeTrain(pid any, mergeRequest int64, 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/api/merge_trains/#add-a-merge-request-to-a-merge-train
func (*MergeTrainsService) GetMergeRequestOnAMergeTrain ¶
func (s *MergeTrainsService) GetMergeRequestOnAMergeTrain(pid any, mergeRequest int64, options ...RequestOptionFunc) (*MergeTrain, *Response, error)
GetMergeRequestOnAMergeTrain Get merge train information for the requested merge request.
GitLab API docs: https://docs.gitlab.com/api/merge_trains/#get-the-status-of-a-merge-request-on-a-merge-train
func (*MergeTrainsService) ListMergeRequestInMergeTrain ¶
func (s *MergeTrainsService) ListMergeRequestInMergeTrain(pid any, 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/api/merge_trains/#list-merge-requests-in-a-merge-train
func (*MergeTrainsService) ListProjectMergeTrains ¶
func (s *MergeTrainsService) ListProjectMergeTrains(pid any, opt *ListMergeTrainsOptions, options ...RequestOptionFunc) ([]*MergeTrain, *Response, error)
ListProjectMergeTrains get a list of merge trains in a project.
GitLab API docs: https://docs.gitlab.com/api/merge_trains/#list-merge-trains-for-a-project
type MergeTrainsServiceInterface ¶
type MergeTrainsServiceInterface interface {
ListProjectMergeTrains(pid any, opt *ListMergeTrainsOptions, options ...RequestOptionFunc) ([]*MergeTrain, *Response, error)
ListMergeRequestInMergeTrain(pid any, targetBranch string, opts *ListMergeTrainsOptions, options ...RequestOptionFunc) ([]*MergeTrain, *Response, error)
GetMergeRequestOnAMergeTrain(pid any, mergeRequest int64, options ...RequestOptionFunc) (*MergeTrain, *Response, error)
AddMergeRequestToMergeTrain(pid any, mergeRequest int64, opts *AddMergeRequestToMergeTrainOptions, options ...RequestOptionFunc) ([]*MergeTrain, *Response, error)
}
type Metadata ¶
type Metadata struct {
Version string `json:"version"`
Revision string `json:"revision"`
KAS MetadataKAS `json:"kas"`
Enterprise bool `json:"enterprise"`
}
Metadata represents a GitLab instance version.
GitLab API docs: https://docs.gitlab.com/api/metadata/
type MetadataKAS ¶
type MetadataKAS struct {
Enabled bool `json:"enabled"`
ExternalURL string `json:"externalUrl"`
ExternalK8SProxyURL string `json:"externalK8sProxyUrl"`
Version string `json:"version"`
}
MetadataKAS represents a GitLab instance version metadata KAS.
GitLab API docs: https://docs.gitlab.com/api/metadata/
func (MetadataKAS) String ¶
func (k MetadataKAS) String() string
type MetadataService ¶
type MetadataService struct {
// contains filtered or unexported fields
}
MetadataService handles communication with the GitLab server instance to retrieve its metadata information via the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/metadata/
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/api/metadata/
type MetadataServiceInterface ¶
type MetadataServiceInterface interface {
GetMetadata(options ...RequestOptionFunc) (*Metadata, *Response, error)
}
type MetricImage ¶
type MetricImage struct {
ID int64 `json:"id"`
CreatedAt *time.Time `json:"created_at"`
Filename string `json:"filename"`
FilePath string `json:"file_path"`
URL string `json:"url"`
URLText string `json:"url_text"`
}
MetricImage represents a single metric image file.
GitLab API docs: https://docs.gitlab.com/api/alert_management_alerts/
type MicrosoftTeamsIntegration ¶
type MicrosoftTeamsIntegration struct {
Integration
Properties MicrosoftTeamsIntegrationProperties `json:"properties"`
}
MicrosoftTeamsIntegration represents the Microsoft Teams integration settings. It embeds the generic Integration struct and adds Microsoft Teams-specific properties.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#get-microsoft-teams-notifications-settings
type MicrosoftTeamsIntegrationProperties ¶
type MicrosoftTeamsIntegrationProperties struct {
NotifyOnlyBrokenPipelines bool `json:"notify_only_broken_pipelines"`
BranchesToBeNotified string `json:"branches_to_be_notified"`
}
MicrosoftTeamsIntegrationProperties represents Microsoft Teams specific properties returned by the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#get-microsoft-teams-notifications-settings
type MicrosoftTeamsService ¶
type MicrosoftTeamsService struct {
Service
Properties *MicrosoftTeamsServiceProperties `json:"properties"`
}
MicrosoftTeamsService represents Microsoft Teams service settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#microsoft-teams-notifications
type MicrosoftTeamsServiceProperties ¶
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"`
}
MicrosoftTeamsServiceProperties represents Microsoft Teams specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#microsoft-teams-notifications
type Milestone ¶
type Milestone struct {
ID int64 `json:"id"`
IID int64 `json:"iid"`
GroupID int64 `json:"group_id"`
ProjectID int64 `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"`
}
Milestone represents a GitLab milestone.
GitLab API docs: https://docs.gitlab.com/api/milestones/
type MilestoneEvent ¶
type MilestoneEvent struct {
ID int64 `json:"id"`
User *BasicUser `json:"user"`
CreatedAt *time.Time `json:"created_at"`
ResourceType string `json:"resource_type"`
ResourceID int64 `json:"resource_id"`
Milestone *Milestone `json:"milestone"`
Action string `json:"action"`
}
MilestoneEvent represents a resource milestone event.
GitLab API docs: https://docs.gitlab.com/api/resource_milestone_events/
type MilestoneEventGroup ¶
type MilestoneEventGroup struct {
GroupID int64 `json:"group_id"`
GroupName string `json:"group_name"`
GroupPath string `json:"group_path"`
FullPath string `json:"full_path"`
}
MilestoneEventGroup represents a group in a milestone event.
type MilestoneEventObjectAttributes ¶
type MilestoneEventObjectAttributes struct {
ID int64 `json:"id"`
IID int64 `json:"iid"`
Title string `json:"title"`
Description string `json:"description"`
State string `json:"state"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
DueDate *ISOTime `json:"due_date"`
StartDate *ISOTime `json:"start_date"`
GroupID *int64 `json:"group_id"`
ProjectID int64 `json:"project_id"`
}
type MilestoneEventProject ¶
type MilestoneEventProject struct {
ID int64 `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 int64 `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"`
}
MilestoneEventProject represents a project in a milestone event.
type MilestoneWebhookEvent ¶
type MilestoneWebhookEvent struct {
ObjectKind string `json:"object_kind"`
EventType string `json:"event_type"`
Project MilestoneEventProject `json:"project"`
Group *MilestoneEventGroup `json:"group,omitempty"`
ObjectAttributes MilestoneEventObjectAttributes `json:"object_attributes"`
Action string `json:"action"`
}
MilestoneWebhookEvent represents a milestone webhook event.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#milestone-events
type MilestonesService ¶
type MilestonesService struct {
// contains filtered or unexported fields
}
MilestonesService handles communication with the milestone related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/milestones/
func (*MilestonesService) CreateMilestone ¶
func (s *MilestonesService) CreateMilestone(pid any, opt *CreateMilestoneOptions, options ...RequestOptionFunc) (*Milestone, *Response, error)
func (*MilestonesService) DeleteMilestone ¶
func (s *MilestonesService) DeleteMilestone(pid any, milestone int64, options ...RequestOptionFunc) (*Response, error)
func (*MilestonesService) GetMilestone ¶
func (s *MilestonesService) GetMilestone(pid any, milestone int64, options ...RequestOptionFunc) (*Milestone, *Response, error)
func (*MilestonesService) GetMilestoneIssues ¶
func (s *MilestonesService) GetMilestoneIssues(pid any, milestone int64, opt *GetMilestoneIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
func (*MilestonesService) GetMilestoneMergeRequests ¶
func (s *MilestonesService) GetMilestoneMergeRequests(pid any, milestone int64, opt *GetMilestoneMergeRequestsOptions, options ...RequestOptionFunc) ([]*BasicMergeRequest, *Response, error)
func (*MilestonesService) ListMilestones ¶
func (s *MilestonesService) ListMilestones(pid any, opt *ListMilestonesOptions, options ...RequestOptionFunc) ([]*Milestone, *Response, error)
func (*MilestonesService) UpdateMilestone ¶
func (s *MilestonesService) UpdateMilestone(pid any, milestone int64, opt *UpdateMilestoneOptions, options ...RequestOptionFunc) (*Milestone, *Response, error)
type MilestonesServiceInterface ¶
type MilestonesServiceInterface interface {
// ListMilestones returns a list of project milestones.
//
// GitLab API docs:
// https://docs.gitlab.com/api/milestones/#list-project-milestones
ListMilestones(pid any, opt *ListMilestonesOptions, options ...RequestOptionFunc) ([]*Milestone, *Response, error)
// GetMilestone gets a single project milestone.
//
// GitLab API docs:
// https://docs.gitlab.com/api/milestones/#get-single-milestone
GetMilestone(pid any, milestone int64, options ...RequestOptionFunc) (*Milestone, *Response, error)
// CreateMilestone creates a new project milestone.
//
// GitLab API docs:
// https://docs.gitlab.com/api/milestones/#create-new-milestone
CreateMilestone(pid any, opt *CreateMilestoneOptions, options ...RequestOptionFunc) (*Milestone, *Response, error)
// UpdateMilestone updates an existing project milestone.
//
// GitLab API docs:
// https://docs.gitlab.com/api/milestones/#edit-milestone
UpdateMilestone(pid any, milestone int64, opt *UpdateMilestoneOptions, options ...RequestOptionFunc) (*Milestone, *Response, error)
// DeleteMilestone deletes a specified project milestone.
//
// GitLab API docs:
// https://docs.gitlab.com/api/milestones/#delete-project-milestone
DeleteMilestone(pid any, milestone int64, options ...RequestOptionFunc) (*Response, error)
// GetMilestoneIssues gets all issues assigned to a single project milestone.
//
// GitLab API docs:
// https://docs.gitlab.com/api/milestones/#get-all-issues-assigned-to-a-single-milestone
GetMilestoneIssues(pid any, milestone int64, opt *GetMilestoneIssuesOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
// GetMilestoneMergeRequests gets all merge requests assigned to a single
// project milestone.
//
// GitLab API docs:
// https://docs.gitlab.com/api/milestones/#get-all-merge-requests-assigned-to-a-single-milestone
GetMilestoneMergeRequests(pid any, milestone int64, opt *GetMilestoneMergeRequestsOptions, options ...RequestOptionFunc) ([]*BasicMergeRequest, *Response, error)
}
type ModelRegistryService ¶
type ModelRegistryService struct {
// contains filtered or unexported fields
}
ModelRegistryService handles communication with the model registry related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/model_registry/
func (*ModelRegistryService) DownloadMachineLearningModelPackage ¶
func (s *ModelRegistryService) DownloadMachineLearningModelPackage(pid, modelVersionID any, path string, filename string, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
DownloadMachineLearningModelPackage downloads a machine learning model package file.
GitLab API docs: https://docs.gitlab.com/api/model_registry/#download-a-model-package-file
type ModifyUserOptions ¶
type ModifyUserOptions struct {
Admin *bool `url:"admin,omitempty" json:"admin,omitempty"`
Avatar *UserAvatar `url:"-" json:"avatar,omitempty"`
Bio *string `url:"bio,omitempty" json:"bio,omitempty"`
CanCreateGroup *bool `url:"can_create_group,omitempty" json:"can_create_group,omitempty"`
CommitEmail *string `url:"commit_email,omitempty" json:"commit_email,omitempty"`
Email *string `url:"email,omitempty" json:"email,omitempty"`
External *bool `url:"external,omitempty" json:"external,omitempty"`
ExternUID *string `url:"extern_uid,omitempty" json:"extern_uid,omitempty"`
JobTitle *string `url:"job_title,omitempty" json:"job_title,omitempty"`
Linkedin *string `url:"linkedin,omitempty" json:"linkedin,omitempty"`
Location *string `url:"location,omitempty" json:"location,omitempty"`
Name *string `url:"name,omitempty" json:"name,omitempty"`
Note *string `url:"note,omitempty" json:"note,omitempty"`
Organization *string `url:"organization,omitempty" json:"organization,omitempty"`
Password *string `url:"password,omitempty" json:"password,omitempty"`
PrivateProfile *bool `url:"private_profile,omitempty" json:"private_profile,omitempty"`
ProjectsLimit *int64 `url:"projects_limit,omitempty" json:"projects_limit,omitempty"`
Provider *string `url:"provider,omitempty" json:"provider,omitempty"`
PublicEmail *string `url:"public_email,omitempty" json:"public_email,omitempty"`
SkipReconfirmation *bool `url:"skip_reconfirmation,omitempty" json:"skip_reconfirmation,omitempty"`
Skype *string `url:"skype,omitempty" json:"skype,omitempty"`
ThemeID *int64 `url:"theme_id,omitempty" json:"theme_id,omitempty"`
Twitter *string `url:"twitter,omitempty" json:"twitter,omitempty"`
Username *string `url:"username,omitempty" json:"username,omitempty"`
WebsiteURL *string `url:"website_url,omitempty" json:"website_url,omitempty"`
ViewDiffsFileByFile *bool `url:"view_diffs_file_by_file,omitempty" json:"view_diffs_file_by_file,omitempty"`
}
ModifyUserOptions represents the available ModifyUser() options.
GitLab API docs: https://docs.gitlab.com/api/users/#modify-a-user
type MoveIssueOptions ¶
type MoveIssueOptions struct {
ToProjectID *int64 `url:"to_project_id,omitempty" json:"to_project_id,omitempty"`
}
MoveIssueOptions represents the available MoveIssue() options.
GitLab API docs: https://docs.gitlab.com/api/issues/#move-an-issue
type Namespace ¶
type Namespace struct {
ID int64 `json:"id"`
Name string `json:"name"`
Path string `json:"path"`
Kind string `json:"kind"`
FullPath string `json:"full_path"`
ParentID int64 `json:"parent_id"`
AvatarURL *string `json:"avatar_url"`
WebURL string `json:"web_url"`
MembersCountWithDescendants int64 `json:"members_count_with_descendants"`
BillableMembersCount int64 `json:"billable_members_count"`
Plan string `json:"plan"`
TrialEndsOn *ISOTime `json:"trial_ends_on"`
Trial bool `json:"trial"`
MaxSeatsUsed *int64 `json:"max_seats_used"`
SeatsInUse *int64 `json:"seats_in_use"`
}
Namespace represents a GitLab namespace.
GitLab API docs: https://docs.gitlab.com/api/namespaces/
type NamespaceExistance ¶
NamespaceExistance represents a namespace exists result.
GitLab API docs: https://docs.gitlab.com/api/namespaces/#verify-namespace-availability
type NamespaceExistsOptions ¶
type NamespaceExistsOptions struct {
ParentID *int64 `url:"parent_id,omitempty" json:"parent_id,omitempty"`
}
NamespaceExistsOptions represents the available NamespaceExists() options.
GitLab API docs: https://docs.gitlab.com/api/namespaces/#verify-namespace-availability
type NamespacesService ¶
type NamespacesService struct {
// contains filtered or unexported fields
}
NamespacesService handles communication with the namespace related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/namespaces/
func (*NamespacesService) GetNamespace ¶
func (s *NamespacesService) GetNamespace(id any, options ...RequestOptionFunc) (*Namespace, *Response, error)
GetNamespace gets a namespace by id.
GitLab API docs: https://docs.gitlab.com/api/namespaces/#get-details-on-a-namespace
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/api/namespaces/#list-all-namespaces
func (*NamespacesService) NamespaceExists ¶
func (s *NamespacesService) NamespaceExists(id any, opt *NamespaceExistsOptions, options ...RequestOptionFunc) (*NamespaceExistance, *Response, error)
NamespaceExists checks the existence of a namespace.
GitLab API docs: https://docs.gitlab.com/api/namespaces/#verify-namespace-availability
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/api/namespaces/#list-all-namespaces
type NamespacesServiceInterface ¶
type NamespacesServiceInterface interface {
ListNamespaces(opt *ListNamespacesOptions, options ...RequestOptionFunc) ([]*Namespace, *Response, error)
SearchNamespace(query string, options ...RequestOptionFunc) ([]*Namespace, *Response, error)
GetNamespace(id any, options ...RequestOptionFunc) (*Namespace, *Response, error)
NamespaceExists(id any, opt *NamespaceExistsOptions, options ...RequestOptionFunc) (*NamespaceExistance, *Response, error)
}
type NewMembersCount ¶
type NewMembersCount struct {
NewMembersCount int64 `url:"new_members_count" json:"new_members_count"`
}
NewMembersCount represents the total count of recently added members to a group.
GitLab API docs: https://docs.gitlab.com/api/group_activity_analytics/#get-count-of-members-recently-added-to-group
type Note ¶
type Note struct {
ID int64 `json:"id"`
Type NoteTypeValue `json:"type"`
Body string `json:"body"`
Attachment string `json:"attachment"`
Title string `json:"title"`
FileName string `json:"file_name"`
Author NoteAuthor `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 int64 `json:"noteable_id"`
NoteableType string `json:"noteable_type"`
ProjectID int64 `json:"project_id"`
NoteableIID int64 `json:"noteable_iid"`
Resolvable bool `json:"resolvable"`
Resolved bool `json:"resolved"`
ResolvedAt *time.Time `json:"resolved_at"`
ResolvedBy NoteResolvedBy `json:"resolved_by"`
Internal bool `json:"internal"`
// Deprecated: use Internal instead
Confidential bool `json:"confidential"`
}
Note represents a GitLab note.
GitLab API docs: https://docs.gitlab.com/api/notes/
type NoteAuthor ¶
type NoteAuthor struct {
ID int64 `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"`
}
NoteAuthor represents the author of a note.
type NotePosition ¶
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 int64 `json:"new_line,omitempty"`
OldPath string `json:"old_path,omitempty"`
OldLine int64 `json:"old_line,omitempty"`
LineRange *LineRange `json:"line_range,omitempty"`
}
NotePosition represents the position attributes of a note.
type NoteResolvedBy ¶
type NoteResolvedBy struct {
ID int64 `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"`
}
NoteResolvedBy represents the resolver of a GitLab note.
GitLab API docs: https://docs.gitlab.com/api/notes/
type NoteTypeValue ¶
type NoteTypeValue string
NoteTypeValue represents the type of a Note.
const ( DiffNote NoteTypeValue = "DiffNote" DiscussionNote NoteTypeValue = "DiscussionNote" GenericNote NoteTypeValue = "Note" LegacyDiffNote NoteTypeValue = "LegacyDiffNote" )
List of available note types.
type NotesService ¶
type NotesService struct {
// contains filtered or unexported fields
}
NotesService handles communication with the notes related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/notes/
func (*NotesService) CreateEpicNote ¶
func (s *NotesService) CreateEpicNote(gid any, epic int64, opt *CreateEpicNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
CreateEpicNote creates a new note for a single merge request. Will be removed in v5 of the API, use Work Items API instead
GitLab API docs: https://docs.gitlab.com/api/notes/#create-new-epic-note
func (*NotesService) CreateIssueNote ¶
func (s *NotesService) CreateIssueNote(pid any, issue int64, opt *CreateIssueNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
CreateIssueNote creates a new note to a single project issue.
GitLab API docs: https://docs.gitlab.com/api/notes/#create-new-issue-note
func (*NotesService) CreateMergeRequestNote ¶
func (s *NotesService) CreateMergeRequestNote(pid any, mergeRequest int64, opt *CreateMergeRequestNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
CreateMergeRequestNote creates a new note for a single merge request.
GitLab API docs: https://docs.gitlab.com/api/notes/#create-new-merge-request-note
func (*NotesService) CreateSnippetNote ¶
func (s *NotesService) CreateSnippetNote(pid any, snippet int64, 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/api/notes/#create-new-snippet-note
func (*NotesService) DeleteEpicNote ¶
func (s *NotesService) DeleteEpicNote(gid any, epic, note int64, options ...RequestOptionFunc) (*Response, error)
DeleteEpicNote deletes an existing note of a merge request. Will be removed in v5 of the API, use Work Items API instead
func (*NotesService) DeleteIssueNote ¶
func (s *NotesService) DeleteIssueNote(pid any, issue, note int64, options ...RequestOptionFunc) (*Response, error)
DeleteIssueNote deletes an existing note of an issue.
GitLab API docs: https://docs.gitlab.com/api/notes/#delete-an-issue-note
func (*NotesService) DeleteMergeRequestNote ¶
func (s *NotesService) DeleteMergeRequestNote(pid any, mergeRequest, note int64, options ...RequestOptionFunc) (*Response, error)
DeleteMergeRequestNote deletes an existing note of a merge request.
GitLab API docs: https://docs.gitlab.com/api/notes/#delete-a-merge-request-note
func (*NotesService) DeleteSnippetNote ¶
func (s *NotesService) DeleteSnippetNote(pid any, snippet, note int64, options ...RequestOptionFunc) (*Response, error)
DeleteSnippetNote deletes an existing note of a snippet.
GitLab API docs: https://docs.gitlab.com/api/notes/#delete-a-snippet-note
func (*NotesService) GetEpicNote ¶
func (s *NotesService) GetEpicNote(gid any, epic, note int64, options ...RequestOptionFunc) (*Note, *Response, error)
GetEpicNote returns a single note for an epic. Will be removed in v5 of the API, use Work Items API instead
GitLab API docs: https://docs.gitlab.com/api/notes/#get-single-epic-note
func (*NotesService) GetIssueNote ¶
func (s *NotesService) GetIssueNote(pid any, issue, note int64, options ...RequestOptionFunc) (*Note, *Response, error)
GetIssueNote returns a single note for a specific project issue.
GitLab API docs: https://docs.gitlab.com/api/notes/#get-single-issue-note
func (*NotesService) GetMergeRequestNote ¶
func (s *NotesService) GetMergeRequestNote(pid any, mergeRequest, note int64, options ...RequestOptionFunc) (*Note, *Response, error)
GetMergeRequestNote returns a single note for a given merge request.
GitLab API docs: https://docs.gitlab.com/api/notes/#get-single-merge-request-note
func (*NotesService) GetSnippetNote ¶
func (s *NotesService) GetSnippetNote(pid any, snippet, note int64, options ...RequestOptionFunc) (*Note, *Response, error)
GetSnippetNote returns a single note for a given snippet.
GitLab API docs: https://docs.gitlab.com/api/notes/#get-single-snippet-note
func (*NotesService) ListEpicNotes ¶
func (s *NotesService) ListEpicNotes(gid any, epic int64, opt *ListEpicNotesOptions, options ...RequestOptionFunc) ([]*Note, *Response, error)
ListEpicNotes gets a list of all notes for a single epic. Will be removed in v5 of the API, use Work Items API instead
GitLab API docs: https://docs.gitlab.com/api/notes/#list-all-epic-notes
func (*NotesService) ListIssueNotes ¶
func (s *NotesService) ListIssueNotes(pid any, issue int64, 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/api/notes/#list-project-issue-notes
func (*NotesService) ListMergeRequestNotes ¶
func (s *NotesService) ListMergeRequestNotes(pid any, mergeRequest int64, 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/api/notes/#list-all-merge-request-notes
func (*NotesService) ListSnippetNotes ¶
func (s *NotesService) ListSnippetNotes(pid any, snippet int64, 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/api/notes/#list-all-snippet-notes
func (*NotesService) UpdateEpicNote ¶
func (s *NotesService) UpdateEpicNote(gid any, epic, note int64, opt *UpdateEpicNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
UpdateEpicNote modifies existing note of an epic. Will be removed in v5 of the API, use Work Items API instead
https://docs.gitlab.com/api/notes/#modify-existing-epic-note
func (*NotesService) UpdateIssueNote ¶
func (s *NotesService) UpdateIssueNote(pid any, issue, note int64, opt *UpdateIssueNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
UpdateIssueNote modifies existing note of an issue.
GitLab API docs: https://docs.gitlab.com/api/notes/#modify-existing-issue-note
func (*NotesService) UpdateMergeRequestNote ¶
func (s *NotesService) UpdateMergeRequestNote(pid any, mergeRequest, note int64, opt *UpdateMergeRequestNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
UpdateMergeRequestNote modifies existing note of a merge request.
GitLab API docs: https://docs.gitlab.com/api/notes/#modify-existing-merge-request-note
func (*NotesService) UpdateSnippetNote ¶
func (s *NotesService) UpdateSnippetNote(pid any, snippet, note int64, opt *UpdateSnippetNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
UpdateSnippetNote modifies existing note of a snippet.
GitLab API docs: https://docs.gitlab.com/api/notes/#modify-existing-snippet-note
type NotesServiceInterface ¶
type NotesServiceInterface interface {
ListIssueNotes(pid any, issue int64, opt *ListIssueNotesOptions, options ...RequestOptionFunc) ([]*Note, *Response, error)
GetIssueNote(pid any, issue, note int64, options ...RequestOptionFunc) (*Note, *Response, error)
CreateIssueNote(pid any, issue int64, opt *CreateIssueNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
UpdateIssueNote(pid any, issue, note int64, opt *UpdateIssueNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
DeleteIssueNote(pid any, issue, note int64, options ...RequestOptionFunc) (*Response, error)
ListSnippetNotes(pid any, snippet int64, opt *ListSnippetNotesOptions, options ...RequestOptionFunc) ([]*Note, *Response, error)
GetSnippetNote(pid any, snippet, note int64, options ...RequestOptionFunc) (*Note, *Response, error)
CreateSnippetNote(pid any, snippet int64, opt *CreateSnippetNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
UpdateSnippetNote(pid any, snippet, note int64, opt *UpdateSnippetNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
DeleteSnippetNote(pid any, snippet, note int64, options ...RequestOptionFunc) (*Response, error)
ListMergeRequestNotes(pid any, mergeRequest int64, opt *ListMergeRequestNotesOptions, options ...RequestOptionFunc) ([]*Note, *Response, error)
GetMergeRequestNote(pid any, mergeRequest, note int64, options ...RequestOptionFunc) (*Note, *Response, error)
CreateMergeRequestNote(pid any, mergeRequest int64, opt *CreateMergeRequestNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
UpdateMergeRequestNote(pid any, mergeRequest, note int64, opt *UpdateMergeRequestNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
DeleteMergeRequestNote(pid any, mergeRequest, note int64, options ...RequestOptionFunc) (*Response, error)
ListEpicNotes(gid any, epic int64, opt *ListEpicNotesOptions, options ...RequestOptionFunc) ([]*Note, *Response, error)
GetEpicNote(gid any, epic, note int64, options ...RequestOptionFunc) (*Note, *Response, error)
CreateEpicNote(gid any, epic int64, opt *CreateEpicNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
UpdateEpicNote(gid any, epic, note int64, opt *UpdateEpicNoteOptions, options ...RequestOptionFunc) (*Note, *Response, error)
DeleteEpicNote(gid any, epic, note int64, options ...RequestOptionFunc) (*Response, error)
}
type NotificationEvents ¶
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"`
}
NotificationEvents represents the available notification setting events.
GitLab API docs: https://docs.gitlab.com/api/notification_settings/#valid-notification-levels
type NotificationLevelValue ¶
type NotificationLevelValue int
NotificationLevelValue represents a notification level.
const ( DisabledNotificationLevel NotificationLevelValue = iota ParticipatingNotificationLevel WatchNotificationLevel GlobalNotificationLevel MentionNotificationLevel CustomNotificationLevel )
List of valid notification levels.
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 ¶
type NotificationSettings struct {
Level NotificationLevelValue `json:"level"`
NotificationEmail string `json:"notification_email"`
Events *NotificationEvents `json:"events"`
}
NotificationSettings represents the GitLab notification setting.
GitLab API docs: https://docs.gitlab.com/api/notification_settings/#valid-notification-levels
func (NotificationSettings) String ¶
func (ns NotificationSettings) String() string
type NotificationSettingsOptions ¶
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"`
}
NotificationSettingsOptions represents the available options that can be passed to the API when updating the notification settings.
type NotificationSettingsService ¶
type NotificationSettingsService struct {
// contains filtered or unexported fields
}
NotificationSettingsService handles communication with the notification settings related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/notification_settings/
func (*NotificationSettingsService) GetGlobalSettings ¶
func (s *NotificationSettingsService) GetGlobalSettings(options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
func (*NotificationSettingsService) GetSettingsForGroup ¶
func (s *NotificationSettingsService) GetSettingsForGroup(gid any, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
func (*NotificationSettingsService) GetSettingsForProject ¶
func (s *NotificationSettingsService) GetSettingsForProject(pid any, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
func (*NotificationSettingsService) UpdateGlobalSettings ¶
func (s *NotificationSettingsService) UpdateGlobalSettings(opt *NotificationSettingsOptions, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
func (*NotificationSettingsService) UpdateSettingsForGroup ¶
func (s *NotificationSettingsService) UpdateSettingsForGroup(gid any, opt *NotificationSettingsOptions, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
func (*NotificationSettingsService) UpdateSettingsForProject ¶
func (s *NotificationSettingsService) UpdateSettingsForProject(pid any, opt *NotificationSettingsOptions, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
type NotificationSettingsServiceInterface ¶
type NotificationSettingsServiceInterface interface {
// GetGlobalSettings returns current notification settings and email address.
//
// GitLab API docs:
// https://docs.gitlab.com/api/notification_settings/#global-notification-settings
GetGlobalSettings(options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
// UpdateGlobalSettings updates current notification settings and email address.
//
// GitLab API docs:
// https://docs.gitlab.com/api/notification_settings/#update-global-notification-settings
UpdateGlobalSettings(opt *NotificationSettingsOptions, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
// GetSettingsForGroup returns current group notification settings.
//
// GitLab API docs:
// https://docs.gitlab.com/api/notification_settings/#group--project-level-notification-settings
GetSettingsForGroup(gid any, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
// GetSettingsForProject returns current project notification settings.
//
// GitLab API docs:
// https://docs.gitlab.com/api/notification_settings/#group--project-level-notification-settings
GetSettingsForProject(pid any, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
// UpdateSettingsForGroup updates current group notification settings.
//
// GitLab API docs:
// https://docs.gitlab.com/api/notification_settings/#update-groupproject-level-notification-settings
UpdateSettingsForGroup(gid any, opt *NotificationSettingsOptions, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
// UpdateSettingsForProject updates current project notification settings.
//
// GitLab API docs:
// https://docs.gitlab.com/api/notification_settings/#update-groupproject-level-notification-settings
UpdateSettingsForProject(pid any, opt *NotificationSettingsOptions, options ...RequestOptionFunc) (*NotificationSettings, *Response, error)
}
type Nullable ¶
Nullable is a generic type, which implements a field that can be one of three states:
- field is not set in the request - field is explicitly set to `null` in the request - field is explicitly set to a valid value in the request
Nullable is intended to be used with JSON marshaling and unmarshaling.
Internal implementation details:
- map[true]T means a value was provided - map[false]T means an explicit null was provided - nil or zero map means the field was not provided
If the field is expected to be optional, add the `omitempty` JSON tags. Do NOT use `*Nullable`!
Adapted from https://github.com/golang/go/issues/64515#issuecomment-1841057182
func NewNullNullable ¶
NewNullNullable is a convenience helper to allow constructing a `Nullable` with an explicit `null`, for instance to construct a field inside a struct, without introducing an intermediate variable
func NewNullableWithValue ¶
NewNullableWithValue is a convenience helper to allow constructing a `Nullable` with a given value, for instance to construct a field inside a struct, without introducing an intermediate variable
func (Nullable[T]) Get ¶
Get retrieves the underlying value, if present, and returns an error if the value was not present
func (Nullable[T]) IsSpecified ¶
IsSpecified indicates whether the field was sent
func (Nullable[T]) MarshalJSON ¶
func (Nullable[T]) MustGet ¶
func (t Nullable[T]) MustGet() T
MustGet retrieves the underlying value, if present, and panics if the value was not present
func (*Nullable[T]) Set ¶
func (t *Nullable[T]) Set(value T)
Set sets the underlying value to a given value
func (*Nullable[T]) SetNull ¶
func (t *Nullable[T]) SetNull()
SetNull indicate that the field was sent, and had a value of `null`
func (*Nullable[T]) SetUnspecified ¶
func (t *Nullable[T]) SetUnspecified()
SetUnspecified indicate whether the field was sent
func (*Nullable[T]) UnmarshalJSON ¶
type OAuthTokenSource ¶
type OAuthTokenSource struct {
TokenSource oauth2.TokenSource
}
OAuthTokenSource wraps an oauth2.TokenSource to implement the AuthSource interface.
type Package ¶
type Package struct {
ID int64 `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"`
}
Package represents a GitLab package.
GitLab API docs: https://docs.gitlab.com/api/packages/
type PackageFile ¶
type PackageFile struct {
ID int64 `json:"id"`
PackageID int64 `json:"package_id"`
CreatedAt *time.Time `json:"created_at"`
FileName string `json:"file_name"`
Size int64 `json:"size"`
FileMD5 string `json:"file_md5"`
FileSHA1 string `json:"file_sha1"`
FileSHA256 string `json:"file_sha256"`
Pipeline *[]Pipeline `json:"pipelines"`
}
PackageFile represents one file contained within a package.
GitLab API docs: https://docs.gitlab.com/api/packages/
func (PackageFile) String ¶
func (s PackageFile) String() string
type PackageLinks ¶
type PackageLinks struct {
WebPath string `json:"web_path"`
DeleteAPIPath string `json:"delete_api_path"`
}
PackageLinks holds links for itself and deleting.
func (PackageLinks) String ¶
func (s PackageLinks) String() string
type PackageProtectionRule ¶
type PackageProtectionRule struct {
ID int64 `json:"id"`
ProjectID int64 `json:"project_id"`
PackageNamePattern string `json:"package_name_pattern"`
PackageType string `json:"package_type"`
MinimumAccessLevelForDelete string `json:"minimum_access_level_for_delete"`
MinimumAccessLevelForPush string `json:"minimum_access_level_for_push"`
}
PackageProtectionRule represents a GitLab package protection rule.
GitLab API docs: https://docs.gitlab.com/api/project_packages_protection_rules
type PackageTag ¶
type PackageTag struct {
ID int64 `json:"id"`
PackageID int64 `json:"package_id"`
Name string `json:"name"`
CreatedAt *time.Time `json:"created_at"`
UpdatedAt *time.Time `json:"updated_at"`
}
PackageTag holds label information about the package
func (PackageTag) String ¶
func (s PackageTag) String() string
type PackagesService ¶
type PackagesService struct {
// contains filtered or unexported fields
}
PackagesService handles communication with the packages related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/packages/
func (*PackagesService) DeletePackageFile ¶
func (s *PackagesService) DeletePackageFile(pid any, pkg, file int64, options ...RequestOptionFunc) (*Response, error)
DeletePackageFile deletes a file in project package
GitLab API docs: https://docs.gitlab.com/api/packages/#delete-a-package-file
func (*PackagesService) DeleteProjectPackage ¶
func (s *PackagesService) DeleteProjectPackage(pid any, pkg int64, options ...RequestOptionFunc) (*Response, error)
DeleteProjectPackage deletes a package in a project.
GitLab API docs: https://docs.gitlab.com/api/packages/#delete-a-project-package
func (*PackagesService) ListGroupPackages ¶
func (s *PackagesService) ListGroupPackages(gid any, opt *ListGroupPackagesOptions, options ...RequestOptionFunc) ([]*GroupPackage, *Response, error)
ListGroupPackages gets a list of packages in a group.
GitLab API docs: https://docs.gitlab.com/api/packages/#for-a-group
func (*PackagesService) ListPackageFiles ¶
func (s *PackagesService) ListPackageFiles(pid any, pkg int64, 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/api/packages/#list-package-files
func (*PackagesService) ListProjectPackages ¶
func (s *PackagesService) ListProjectPackages(pid any, opt *ListProjectPackagesOptions, options ...RequestOptionFunc) ([]*Package, *Response, error)
ListProjectPackages gets a list of packages in a project.
GitLab API docs: https://docs.gitlab.com/api/packages/#for-a-project
type PackagesServiceInterface ¶
type PackagesServiceInterface interface {
ListProjectPackages(pid any, opt *ListProjectPackagesOptions, options ...RequestOptionFunc) ([]*Package, *Response, error)
ListGroupPackages(gid any, opt *ListGroupPackagesOptions, options ...RequestOptionFunc) ([]*GroupPackage, *Response, error)
ListPackageFiles(pid any, pkg int64, opt *ListPackageFilesOptions, options ...RequestOptionFunc) ([]*PackageFile, *Response, error)
DeleteProjectPackage(pid any, pkg int64, options ...RequestOptionFunc) (*Response, error)
DeletePackageFile(pid any, pkg, file int64, options ...RequestOptionFunc) (*Response, error)
}
type PageInfo ¶
type PageInfo struct {
EndCursor string `json:"endCursor"` // Cursor of the last item in this page (pass to "after" for next page)
HasNextPage bool `json:"hasNextPage"` // True if more items exist after this page
StartCursor string `json:"startCursor"` // Cursor of the first item in this page (pass to "before" for previous page)
HasPreviousPage bool `json:"hasPreviousPage"` // True if items exist before this page
}
PageInfo contains cursor-based pagination metadata for GraphQL connections following the Relay cursor pagination specification. Use EndCursor and HasNextPage for forward pagination (most common), or StartCursor and HasPreviousPage for backward pagination.
Cursors are opaque strings that should not be parsed or constructed manually - always use the cursors returned by the API.
Note: GraphQL cursor pagination differs from GitLab's REST API keyset pagination. In REST, the pagination link points to the first item of the next page. In GraphQL, EndCursor points to the last item of the current page - you pass this to the "after" parameter to fetch items after it (essentially an off-by-one difference in semantics).
GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#pageinfo
type Pages ¶
type Pages struct {
URL string `json:"url"`
IsUniqueDomainEnabled bool `json:"is_unique_domain_enabled"`
ForceHTTPS bool `json:"force_https"`
Deployments []*PagesDeployment `json:"deployments"`
PrimaryDomain string `json:"primary_domain"`
}
Pages represents the Pages of a project.
GitLab API docs: https://docs.gitlab.com/api/pages/
type PagesDeployment ¶
type PagesDeployment struct {
CreatedAt time.Time `json:"created_at"`
URL string `json:"url"`
PathPrefix string `json:"path_prefix"`
RootDirectory string `json:"root_directory"`
}
PagesDeployment represents a Pages deployment.
GitLab API docs: https://docs.gitlab.com/api/pages/
type PagesDomain ¶
type PagesDomain struct {
Domain string `json:"domain"`
AutoSslEnabled bool `json:"auto_ssl_enabled"`
URL string `json:"url"`
ProjectID int64 `json:"project_id"`
Verified bool `json:"verified"`
VerificationCode string `json:"verification_code"`
EnabledUntil *time.Time `json:"enabled_until"`
Certificate PagesDomainCertificate `json:"certificate"`
}
PagesDomain represents a pages domain.
GitLab API docs: https://docs.gitlab.com/api/pages_domains/
type PagesDomainCertificate ¶
type PagesDomainCertificate struct {
Subject string `json:"subject"`
Expired bool `json:"expired"`
Expiration *time.Time `json:"expiration"`
Certificate string `json:"certificate"`
CertificateText string `json:"certificate_text"`
}
PagesDomainCertificate represents a pages domain certificate.
GitLab API docs: https://docs.gitlab.com/api/pages_domains/
type PagesDomainsService ¶
type PagesDomainsService struct {
// contains filtered or unexported fields
}
PagesDomainsService handles communication with the pages domains related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/pages_domains/
func (*PagesDomainsService) CreatePagesDomain ¶
func (s *PagesDomainsService) CreatePagesDomain(pid any, opt *CreatePagesDomainOptions, options ...RequestOptionFunc) (*PagesDomain, *Response, error)
CreatePagesDomain creates a new project pages domain.
GitLab API docs: https://docs.gitlab.com/api/pages_domains/#create-new-pages-domain
func (*PagesDomainsService) DeletePagesDomain ¶
func (s *PagesDomainsService) DeletePagesDomain(pid any, domain string, options ...RequestOptionFunc) (*Response, error)
DeletePagesDomain deletes an existing project pages domain.
GitLab API docs: https://docs.gitlab.com/api/pages_domains/#delete-pages-domain
func (*PagesDomainsService) GetPagesDomain ¶
func (s *PagesDomainsService) GetPagesDomain(pid any, domain string, options ...RequestOptionFunc) (*PagesDomain, *Response, error)
GetPagesDomain get a specific pages domain for a project.
GitLab API docs: https://docs.gitlab.com/api/pages_domains/#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/api/pages_domains/#list-all-pages-domains
func (*PagesDomainsService) ListPagesDomains ¶
func (s *PagesDomainsService) ListPagesDomains(pid any, opt *ListPagesDomainsOptions, options ...RequestOptionFunc) ([]*PagesDomain, *Response, error)
ListPagesDomains gets a list of project pages domains.
GitLab API docs: https://docs.gitlab.com/api/pages_domains/#list-pages-domains
func (*PagesDomainsService) UpdatePagesDomain ¶
func (s *PagesDomainsService) UpdatePagesDomain(pid any, domain string, opt *UpdatePagesDomainOptions, options ...RequestOptionFunc) (*PagesDomain, *Response, error)
UpdatePagesDomain updates an existing project pages domain.
GitLab API docs: https://docs.gitlab.com/api/pages_domains/#update-pages-domain
type PagesDomainsServiceInterface ¶
type PagesDomainsServiceInterface interface {
ListPagesDomains(pid any, opt *ListPagesDomainsOptions, options ...RequestOptionFunc) ([]*PagesDomain, *Response, error)
ListAllPagesDomains(options ...RequestOptionFunc) ([]*PagesDomain, *Response, error)
GetPagesDomain(pid any, domain string, options ...RequestOptionFunc) (*PagesDomain, *Response, error)
CreatePagesDomain(pid any, opt *CreatePagesDomainOptions, options ...RequestOptionFunc) (*PagesDomain, *Response, error)
UpdatePagesDomain(pid any, domain string, opt *UpdatePagesDomainOptions, options ...RequestOptionFunc) (*PagesDomain, *Response, error)
DeletePagesDomain(pid any, domain string, options ...RequestOptionFunc) (*Response, error)
}
type PagesService ¶
type PagesService struct {
// contains filtered or unexported fields
}
PagesService handles communication with the pages related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/pages/
func (*PagesService) GetPages ¶
func (s *PagesService) GetPages(gid any, options ...RequestOptionFunc) (*Pages, *Response, error)
func (*PagesService) UnpublishPages ¶
func (s *PagesService) UnpublishPages(gid any, options ...RequestOptionFunc) (*Response, error)
func (*PagesService) UpdatePages ¶
func (s *PagesService) UpdatePages(pid any, opt UpdatePagesOptions, options ...RequestOptionFunc) (*Pages, *Response, error)
type PagesServiceInterface ¶
type PagesServiceInterface interface {
// UnpublishPages unpublishes pages. The user must have admin privileges.
//
// GitLab API docs:
// https://docs.gitlab.com/api/pages/#unpublish-pages
UnpublishPages(gid any, options ...RequestOptionFunc) (*Response, error)
// GetPages lists Pages settings for a project. The user must have at least
// maintainer privileges.
//
// GitLab API Docs:
// https://docs.gitlab.com/api/pages/#get-pages-settings-for-a-project
GetPages(gid any, options ...RequestOptionFunc) (*Pages, *Response, error)
// UpdatePages updates Pages settings for a project. The user must have
// administrator privileges.
//
// GitLab API Docs:
// https://docs.gitlab.com/api/pages/#update-pages-settings-for-a-project
UpdatePages(pid any, opt UpdatePagesOptions, options ...RequestOptionFunc) (*Pages, *Response, error)
}
type PaginationOptionFunc ¶
type PaginationOptionFunc = RequestOptionFunc
type PasswordCredentialsAuthSource ¶
type PasswordCredentialsAuthSource struct {
Username string
Password string
AuthSource
}
PasswordCredentialsAuthSource implements the AuthSource interface for the OAuth 2.0 resource owner password credentials flow.
type PatchProjectJobTokenAccessSettingsOptions ¶
type PatchProjectJobTokenAccessSettingsOptions struct {
Enabled bool `json:"enabled"`
}
PatchProjectJobTokenAccessSettingsOptions represents the available PatchProjectJobTokenAccessSettings() options.
GitLab API docs: https://docs.gitlab.com/api/project_job_token_scopes/#patch-a-projects-cicd-job-token-access-settings
type PendingInvite ¶
type PendingInvite struct {
ID int64 `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"`
}
PendingInvite represents a pending invite.
GitLab API docs: https://docs.gitlab.com/api/invitations/
type Permissions ¶
type Permissions struct {
ProjectAccess *ProjectAccess `json:"project_access"`
GroupAccess *GroupAccess `json:"group_access"`
}
Permissions represents permissions.
type PersonalAccessToken ¶
type PersonalAccessToken struct {
ID int64 `json:"id"`
Name string `json:"name"`
Revoked bool `json:"revoked"`
CreatedAt *time.Time `json:"created_at"`
Description string `json:"description"`
Scopes []string `json:"scopes"`
UserID int64 `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"`
}
PersonalAccessToken represents a personal access token.
GitLab API docs: https://docs.gitlab.com/api/personal_access_tokens/
func (PersonalAccessToken) String ¶
func (p PersonalAccessToken) String() string
type PersonalAccessTokensService ¶
type PersonalAccessTokensService struct {
// contains filtered or unexported fields
}
PersonalAccessTokensService handles communication with the personal access tokens related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/personal_access_tokens/
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/api/personal_access_tokens/#self-inform
func (*PersonalAccessTokensService) GetSinglePersonalAccessTokenByID ¶
func (s *PersonalAccessTokensService) GetSinglePersonalAccessTokenByID(token int64, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
GetSinglePersonalAccessTokenByID get a single personal access token by its ID.
GitLab API docs: https://docs.gitlab.com/api/personal_access_tokens/#get-details-on-a-personal-access-token
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/api/personal_access_tokens/#list-all-personal-access-tokens
func (*PersonalAccessTokensService) RevokePersonalAccessTokenByID ¶
func (s *PersonalAccessTokensService) RevokePersonalAccessTokenByID(token int64, options ...RequestOptionFunc) (*Response, error)
RevokePersonalAccessTokenByID revokes a personal access token by its ID.
GitLab API docs: https://docs.gitlab.com/api/personal_access_tokens/#revoke-a-personal-access-token
func (*PersonalAccessTokensService) RevokePersonalAccessTokenSelf ¶
func (s *PersonalAccessTokensService) RevokePersonalAccessTokenSelf(options ...RequestOptionFunc) (*Response, error)
RevokePersonalAccessTokenSelf revokes the currently authenticated personal access token.
GitLab API docs: https://docs.gitlab.com/api/personal_access_tokens/#self-revoke
func (*PersonalAccessTokensService) RotatePersonalAccessToken ¶
func (s *PersonalAccessTokensService) RotatePersonalAccessToken(token int64, opt *RotatePersonalAccessTokenOptions, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
RotatePersonalAccessToken is a backwards-compat shim for RotatePersonalAccessTokenByID.
func (*PersonalAccessTokensService) RotatePersonalAccessTokenByID ¶
func (s *PersonalAccessTokensService) RotatePersonalAccessTokenByID(token int64, opt *RotatePersonalAccessTokenOptions, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
RotatePersonalAccessTokenByID revokes a token and returns a new token that expires in one week per default.
GitLab API docs: https://docs.gitlab.com/api/personal_access_tokens/#rotate-a-personal-access-token
func (*PersonalAccessTokensService) RotatePersonalAccessTokenSelf ¶
func (s *PersonalAccessTokensService) RotatePersonalAccessTokenSelf(opt *RotatePersonalAccessTokenOptions, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
RotatePersonalAccessTokenSelf revokes the currently authenticated token and returns a new token that expires in one week per default.
GitLab API docs: https://docs.gitlab.com/api/personal_access_tokens/#self-rotate
type PersonalAccessTokensServiceInterface ¶
type PersonalAccessTokensServiceInterface interface {
ListPersonalAccessTokens(opt *ListPersonalAccessTokensOptions, options ...RequestOptionFunc) ([]*PersonalAccessToken, *Response, error)
GetSinglePersonalAccessTokenByID(token int64, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
GetSinglePersonalAccessToken(options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
RotatePersonalAccessToken(token int64, opt *RotatePersonalAccessTokenOptions, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
RotatePersonalAccessTokenByID(token int64, opt *RotatePersonalAccessTokenOptions, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
RotatePersonalAccessTokenSelf(opt *RotatePersonalAccessTokenOptions, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
RevokePersonalAccessTokenByID(token int64, options ...RequestOptionFunc) (*Response, error)
RevokePersonalAccessTokenSelf(options ...RequestOptionFunc) (*Response, error)
}
type Pipeline ¶
type Pipeline struct {
ID int64 `json:"id"`
IID int64 `json:"iid"`
ProjectID int64 `json:"project_id"`
Status string `json:"status"`
Source PipelineSource `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 int64 `json:"duration"`
QueuedDuration int64 `json:"queued_duration"`
Coverage string `json:"coverage"`
WebURL string `json:"web_url"`
DetailedStatus *DetailedStatus `json:"detailed_status"`
}
Pipeline represents a GitLab pipeline.
GitLab API docs: https://docs.gitlab.com/api/pipelines/
type PipelineEvent ¶
type PipelineEvent struct {
ObjectKind string `json:"object_kind"`
ObjectAttributes PipelineEventObjectAttributes `json:"object_attributes"`
MergeRequest PipelineEventMergeRequest `json:"merge_request"`
User *EventUser `json:"user"`
Project PipelineEventProject `json:"project"`
Commit PipelineEventCommit `json:"commit"`
SourcePipeline EventSourcePipeline `json:"source_pipeline"`
Builds []PipelineEventBuild `json:"builds"`
}
PipelineEvent represents a pipeline event.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#pipeline-events
type PipelineEventBuild ¶
type PipelineEventBuild struct {
ID int64 `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 PipelineEventBuildRunner `json:"runner"`
ArtifactsFile PipelineEventBuildArtifactsFile `json:"artifacts_file"`
Environment EventEnvironment `json:"environment"`
}
type PipelineEventCommit ¶
type PipelineEventMergeRequest ¶
type PipelineEventMergeRequest struct {
ID int64 `json:"id"`
IID int64 `json:"iid"`
Title string `json:"title"`
SourceBranch string `json:"source_branch"`
SourceProjectID int64 `json:"source_project_id"`
TargetBranch string `json:"target_branch"`
TargetProjectID int64 `json:"target_project_id"`
State string `json:"state"`
MergeRequestStatus string `json:"merge_status"`
DetailedMergeStatus string `json:"detailed_merge_status"`
URL string `json:"url"`
}
type PipelineEventObjectAttributes ¶
type PipelineEventObjectAttributes struct {
ID int64 `json:"id"`
IID int64 `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 int64 `json:"duration"`
QueuedDuration int64 `json:"queued_duration"`
URL string `json:"url"`
Variables []PipelineEventObjectAttributesVariable `json:"variables"`
}
type PipelineEventProject ¶
type PipelineEventProject struct {
ID int64 `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"`
}
type PipelineInfo ¶
type PipelineInfo struct {
ID int64 `json:"id"`
IID int64 `json:"iid"`
ProjectID int64 `json:"project_id"`
Status string `json:"status"`
Source string `json:"source"`
Ref string `json:"ref"`
SHA string `json:"sha"`
Name string `json:"name"`
WebURL string `json:"web_url"`
UpdatedAt *time.Time `json:"updated_at"`
CreatedAt *time.Time `json:"created_at"`
}
PipelineInfo shows the basic entities of a pipeline, mostly used as fields on other assets, like Commit.
func (PipelineInfo) String ¶
func (p PipelineInfo) String() string
type PipelineInput ¶
type PipelineInput struct {
Name string `json:"name"`
Value any `json:"value"`
Destroy *bool `json:"destroy,omitempty"`
}
PipelineInput represents a pipeline input.
GitLab API docs: https://docs.gitlab.com/api/pipelines/
type PipelineInputValue ¶
type PipelineInputValue[T PipelineInputValueType] struct { Value T }
PipelineInputValue wraps a pipeline input value with compile-time type safety. Use NewPipelineInputValue() to create instances of this type.
func NewPipelineInputValue ¶
func NewPipelineInputValue[T PipelineInputValueType](value T) PipelineInputValue[T]
NewPipelineInputValue wraps a value for use in pipeline inputs. Similar to Ptr(), this ensures type safety at compile time. Supported types: string, integers, floats, bool, []string
func (PipelineInputValue[T]) MarshalJSON ¶
func (v PipelineInputValue[T]) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
type PipelineInputValueInterface ¶
type PipelineInputValueInterface interface {
// contains filtered or unexported methods
}
PipelineInputValueInterface is implemented by PipelineInputValue[T] for supported pipeline input types. Use NewPipelineInputValue() to create instances - do not implement this interface directly.
See PipelineInputsOption for supported types and usage examples.
type PipelineInputValueType ¶
type PipelineInputValueType interface {
~string | constraintInteger | constraintFloat | ~bool | []string
}
PipelineInputValueType is a type constraint for valid pipeline input value types. This constraint ensures only supported GitLab pipeline input types can be used.
type PipelineInputsOption ¶
type PipelineInputsOption map[string]PipelineInputValueInterface
PipelineInputsOption represents pipeline input parameters with type-safe values. Each value must be wrapped using NewPipelineInputValue() to ensure compile-time type safety.
Supported value types:
- string
- integers (int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64)
- floats (float32, float64)
- bool
- []string
Example:
inputs := PipelineInputsOption{
"environment": NewPipelineInputValue("production"),
"replicas": NewPipelineInputValue(3),
"debug": NewPipelineInputValue(false),
"regions": NewPipelineInputValue([]string{"us-east", "eu-west"}),
}
GitLab API docs: - https://docs.gitlab.com/api/pipelines/#create-a-new-pipeline - https://docs.gitlab.com/api/pipeline_triggers/#trigger-a-pipeline-with-a-token
type PipelineSchedule ¶
type PipelineSchedule struct {
ID int64 `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"`
Inputs []*PipelineInput `json:"inputs"`
}
PipelineSchedule represents a pipeline schedule.
GitLab API docs: https://docs.gitlab.com/api/pipeline_schedules/
type PipelineScheduleScopeValue ¶
type PipelineScheduleScopeValue string
PipelineScheduleScopeValue represents a pipeline schedule scope within GitLab.
GitLab API docs: https://docs.gitlab.com/api/pipeline_schedules/#get-all-pipeline-schedules
const ( PipelineScheduleActive PipelineScheduleScopeValue = "active" PipelineScheduleInactive PipelineScheduleScopeValue = "inactive" )
List of available pipeline schedule scope values.
GitLab API docs: https://docs.gitlab.com/api/pipeline_schedules/#get-all-pipeline-schedules
type PipelineSchedulesService ¶
type PipelineSchedulesService struct {
// contains filtered or unexported fields
}
PipelineSchedulesService handles communication with the pipeline schedules related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/pipeline_schedules/
func (*PipelineSchedulesService) CreatePipelineSchedule ¶
func (s *PipelineSchedulesService) CreatePipelineSchedule(pid any, opt *CreatePipelineScheduleOptions, options ...RequestOptionFunc) (*PipelineSchedule, *Response, error)
CreatePipelineSchedule creates a pipeline schedule.
GitLab API docs: https://docs.gitlab.com/api/pipeline_schedules/#create-a-new-pipeline-schedule
func (*PipelineSchedulesService) CreatePipelineScheduleVariable ¶
func (s *PipelineSchedulesService) CreatePipelineScheduleVariable(pid any, schedule int64, opt *CreatePipelineScheduleVariableOptions, options ...RequestOptionFunc) (*PipelineVariable, *Response, error)
CreatePipelineScheduleVariable creates a pipeline schedule variable.
GitLab API docs: https://docs.gitlab.com/api/pipeline_schedules/#create-a-new-pipeline-schedule
func (*PipelineSchedulesService) DeletePipelineSchedule ¶
func (s *PipelineSchedulesService) DeletePipelineSchedule(pid any, schedule int64, options ...RequestOptionFunc) (*Response, error)
DeletePipelineSchedule deletes a pipeline schedule.
GitLab API docs: https://docs.gitlab.com/api/pipeline_schedules/#delete-a-pipeline-schedule
func (*PipelineSchedulesService) DeletePipelineScheduleVariable ¶
func (s *PipelineSchedulesService) DeletePipelineScheduleVariable(pid any, schedule int64, key string, options ...RequestOptionFunc) (*PipelineVariable, *Response, error)
DeletePipelineScheduleVariable creates a pipeline schedule variable.
GitLab API docs: https://docs.gitlab.com/api/pipeline_schedules/#delete-a-pipeline-schedule-variable
func (*PipelineSchedulesService) EditPipelineSchedule ¶
func (s *PipelineSchedulesService) EditPipelineSchedule(pid any, schedule int64, opt *EditPipelineScheduleOptions, options ...RequestOptionFunc) (*PipelineSchedule, *Response, error)
EditPipelineSchedule edits a pipeline schedule.
GitLab API docs: https://docs.gitlab.com/api/pipeline_schedules/#edit-a-pipeline-schedule
func (*PipelineSchedulesService) EditPipelineScheduleVariable ¶
func (s *PipelineSchedulesService) EditPipelineScheduleVariable(pid any, schedule int64, key string, opt *EditPipelineScheduleVariableOptions, options ...RequestOptionFunc) (*PipelineVariable, *Response, error)
EditPipelineScheduleVariable creates a pipeline schedule variable.
GitLab API docs: https://docs.gitlab.com/api/pipeline_schedules/#edit-a-pipeline-schedule-variable
func (*PipelineSchedulesService) GetPipelineSchedule ¶
func (s *PipelineSchedulesService) GetPipelineSchedule(pid any, schedule int64, options ...RequestOptionFunc) (*PipelineSchedule, *Response, error)
GetPipelineSchedule gets a pipeline schedule.
GitLab API docs: https://docs.gitlab.com/api/pipeline_schedules/#get-a-single-pipeline-schedule
func (*PipelineSchedulesService) ListPipelineSchedules ¶
func (s *PipelineSchedulesService) ListPipelineSchedules(pid any, opt *ListPipelineSchedulesOptions, options ...RequestOptionFunc) ([]*PipelineSchedule, *Response, error)
ListPipelineSchedules gets a list of project triggers.
GitLab API docs: https://docs.gitlab.com/api/pipeline_schedules/#get-all-pipeline-schedules
func (*PipelineSchedulesService) ListPipelinesTriggeredBySchedule ¶
func (s *PipelineSchedulesService) ListPipelinesTriggeredBySchedule(pid any, schedule int64, opt *ListPipelinesTriggeredByScheduleOptions, options ...RequestOptionFunc) ([]*Pipeline, *Response, error)
ListPipelinesTriggeredBySchedule gets all pipelines triggered by a pipeline schedule.
GitLab API docs: https://docs.gitlab.com/api/pipeline_schedules/#get-all-pipelines-triggered-by-a-pipeline-schedule
func (*PipelineSchedulesService) RunPipelineSchedule ¶
func (s *PipelineSchedulesService) RunPipelineSchedule(pid any, schedule int64, options ...RequestOptionFunc) (*Response, error)
RunPipelineSchedule triggers a new scheduled pipeline to run immediately.
GitLab API docs: https://docs.gitlab.com/api/pipeline_schedules/#run-a-scheduled-pipeline-immediately
func (*PipelineSchedulesService) TakeOwnershipOfPipelineSchedule ¶
func (s *PipelineSchedulesService) TakeOwnershipOfPipelineSchedule(pid any, schedule int64, 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/api/pipeline_schedules/#take-ownership-of-a-pipeline-schedule
type PipelineSchedulesServiceInterface ¶
type PipelineSchedulesServiceInterface interface {
ListPipelineSchedules(pid any, opt *ListPipelineSchedulesOptions, options ...RequestOptionFunc) ([]*PipelineSchedule, *Response, error)
GetPipelineSchedule(pid any, schedule int64, options ...RequestOptionFunc) (*PipelineSchedule, *Response, error)
ListPipelinesTriggeredBySchedule(pid any, schedule int64, opt *ListPipelinesTriggeredByScheduleOptions, options ...RequestOptionFunc) ([]*Pipeline, *Response, error)
CreatePipelineSchedule(pid any, opt *CreatePipelineScheduleOptions, options ...RequestOptionFunc) (*PipelineSchedule, *Response, error)
EditPipelineSchedule(pid any, schedule int64, opt *EditPipelineScheduleOptions, options ...RequestOptionFunc) (*PipelineSchedule, *Response, error)
TakeOwnershipOfPipelineSchedule(pid any, schedule int64, options ...RequestOptionFunc) (*PipelineSchedule, *Response, error)
DeletePipelineSchedule(pid any, schedule int64, options ...RequestOptionFunc) (*Response, error)
RunPipelineSchedule(pid any, schedule int64, options ...RequestOptionFunc) (*Response, error)
CreatePipelineScheduleVariable(pid any, schedule int64, opt *CreatePipelineScheduleVariableOptions, options ...RequestOptionFunc) (*PipelineVariable, *Response, error)
EditPipelineScheduleVariable(pid any, schedule int64, key string, opt *EditPipelineScheduleVariableOptions, options ...RequestOptionFunc) (*PipelineVariable, *Response, error)
DeletePipelineScheduleVariable(pid any, schedule int64, key string, options ...RequestOptionFunc) (*PipelineVariable, *Response, error)
}
type PipelineSource ¶
type PipelineSource string
const ( PipelineSourceAPI PipelineSource = "api" PipelineSourceChat PipelineSource = "chat" PipelineSourceExternal PipelineSource = "external" PipelineSourceExternalPullRequestEvent PipelineSource = "external_pull_request_event" PipelineSourceMergeRequestEvent PipelineSource = "merge_request_event" PipelineSourceOndemandDastScan PipelineSource = "ondemand_dast_scan" PipelineSourceOndemandDastValidation PipelineSource = "ondemand_dast_validation" PipelineSourceParentPipeline PipelineSource = "parent_pipeline" PipelineSourcePipeline PipelineSource = "pipeline" PipelineSourcePush PipelineSource = "push" PipelineSourceSchedule PipelineSource = "schedule" PipelineSourceSecurityOrchestrationPolicy PipelineSource = "security_orchestration_policy" PipelineSourceTrigger PipelineSource = "trigger" PipelineSourceWeb PipelineSource = "web" PipelineSourceWebIDE PipelineSource = "webide" )
PipelineSource is the source of a pipeline. GitLab API docs: https://docs.gitlab.com/ci/jobs/job_rules/#ci_pipeline_source-predefined-variable
type PipelineTestCases ¶
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 any `json:"system_output"`
StackTrace string `json:"stack_trace"`
AttachmentURL string `json:"attachment_url"`
RecentFailures *RecentFailures `json:"recent_failures"`
}
PipelineTestCases contains test cases details.
type PipelineTestReport ¶
type PipelineTestReport struct {
TotalTime float64 `json:"total_time"`
TotalCount int64 `json:"total_count"`
SuccessCount int64 `json:"success_count"`
FailedCount int64 `json:"failed_count"`
SkippedCount int64 `json:"skipped_count"`
ErrorCount int64 `json:"error_count"`
TestSuites []*PipelineTestSuites `json:"test_suites"`
}
PipelineTestReport contains a detailed report of a test run.
func (PipelineTestReport) String ¶
func (p PipelineTestReport) String() string
type PipelineTestReportSummary ¶
type PipelineTestReportSummary struct {
Total PipelineTotalSummary `json:"total"`
TestSuites []PipelineTestSuiteSummary `json:"test_suites"`
}
PipelineTestReportSummary contains a summary report of a test run
type PipelineTestSuiteSummary ¶
type PipelineTestSuiteSummary struct {
Name string `json:"name"`
TotalTime float64 `json:"total_time"`
TotalCount int64 `json:"total_count"`
SuccessCount int64 `json:"success_count"`
FailedCount int64 `json:"failed_count"`
SkippedCount int64 `json:"skipped_count"`
ErrorCount int64 `json:"error_count"`
BuildIDs []int64 `json:"build_ids"`
SuiteError *string `json:"suite_error"`
}
PipelineTestSuiteSummary contains a test suite summary of a test run
type PipelineTestSuites ¶
type PipelineTestSuites struct {
Name string `json:"name"`
TotalTime float64 `json:"total_time"`
TotalCount int64 `json:"total_count"`
SuccessCount int64 `json:"success_count"`
FailedCount int64 `json:"failed_count"`
SkippedCount int64 `json:"skipped_count"`
ErrorCount int64 `json:"error_count"`
TestCases []*PipelineTestCases `json:"test_cases"`
}
PipelineTestSuites contains test suites results.
type PipelineTotalSummary ¶
type PipelineTotalSummary struct {
// Documentation examples only show whole numbers, but the test specs for GitLab show decimals, so `float64` is the better attribute here.
Time float64 `json:"time"`
Count int64 `json:"count"`
Success int64 `json:"success"`
Failed int64 `json:"failed"`
Skipped int64 `json:"skipped"`
Error int64 `json:"error"`
SuiteError *string `json:"suite_error"`
}
PipelineTotalSummary contains a total summary of a test run
type PipelineTrigger ¶
type PipelineTrigger struct {
ID int64 `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"`
}
PipelineTrigger represents a project pipeline trigger.
GitLab API docs: https://docs.gitlab.com/api/pipeline_triggers/
type PipelineTriggersService ¶
type PipelineTriggersService struct {
// contains filtered or unexported fields
}
PipelineTriggersService handles Project pipeline triggers.
GitLab API docs: https://docs.gitlab.com/api/pipeline_triggers/
func (*PipelineTriggersService) AddPipelineTrigger ¶
func (s *PipelineTriggersService) AddPipelineTrigger(pid any, opt *AddPipelineTriggerOptions, options ...RequestOptionFunc) (*PipelineTrigger, *Response, error)
AddPipelineTrigger adds a pipeline trigger to a specified project.
GitLab API docs: https://docs.gitlab.com/api/pipeline_triggers/#create-a-trigger-token
func (*PipelineTriggersService) DeletePipelineTrigger ¶
func (s *PipelineTriggersService) DeletePipelineTrigger(pid any, trigger int64, options ...RequestOptionFunc) (*Response, error)
DeletePipelineTrigger removes a trigger from a project.
GitLab API docs: https://docs.gitlab.com/api/pipeline_triggers/#remove-a-pipeline-trigger-token
func (*PipelineTriggersService) EditPipelineTrigger ¶
func (s *PipelineTriggersService) EditPipelineTrigger(pid any, trigger int64, opt *EditPipelineTriggerOptions, options ...RequestOptionFunc) (*PipelineTrigger, *Response, error)
EditPipelineTrigger edits a trigger for a specified project.
GitLab API docs: https://docs.gitlab.com/api/pipeline_triggers/#update-a-pipeline-trigger-token
func (*PipelineTriggersService) GetPipelineTrigger ¶
func (s *PipelineTriggersService) GetPipelineTrigger(pid any, trigger int64, options ...RequestOptionFunc) (*PipelineTrigger, *Response, error)
GetPipelineTrigger gets a specific pipeline trigger for a project.
GitLab API docs: https://docs.gitlab.com/api/pipeline_triggers/#get-trigger-token-details
func (*PipelineTriggersService) ListPipelineTriggers ¶
func (s *PipelineTriggersService) ListPipelineTriggers(pid any, opt *ListPipelineTriggersOptions, options ...RequestOptionFunc) ([]*PipelineTrigger, *Response, error)
ListPipelineTriggers gets a list of project triggers.
GitLab API docs: https://docs.gitlab.com/api/pipeline_triggers/#list-project-trigger-tokens
func (*PipelineTriggersService) RunPipelineTrigger ¶
func (s *PipelineTriggersService) RunPipelineTrigger(pid any, opt *RunPipelineTriggerOptions, options ...RequestOptionFunc) (*Pipeline, *Response, error)
RunPipelineTrigger starts a trigger from a project.
GitLab API docs: https://docs.gitlab.com/api/pipeline_triggers/#trigger-a-pipeline-with-a-token
type PipelineTriggersServiceInterface ¶
type PipelineTriggersServiceInterface interface {
ListPipelineTriggers(pid any, opt *ListPipelineTriggersOptions, options ...RequestOptionFunc) ([]*PipelineTrigger, *Response, error)
GetPipelineTrigger(pid any, trigger int64, options ...RequestOptionFunc) (*PipelineTrigger, *Response, error)
AddPipelineTrigger(pid any, opt *AddPipelineTriggerOptions, options ...RequestOptionFunc) (*PipelineTrigger, *Response, error)
EditPipelineTrigger(pid any, trigger int64, opt *EditPipelineTriggerOptions, options ...RequestOptionFunc) (*PipelineTrigger, *Response, error)
DeletePipelineTrigger(pid any, trigger int64, options ...RequestOptionFunc) (*Response, error)
RunPipelineTrigger(pid any, opt *RunPipelineTriggerOptions, options ...RequestOptionFunc) (*Pipeline, *Response, error)
}
type PipelineVariable ¶
type PipelineVariable struct {
Key string `json:"key"`
Value string `json:"value"`
VariableType VariableTypeValue `json:"variable_type"`
}
PipelineVariable represents a pipeline variable.
GitLab API docs: https://docs.gitlab.com/api/pipelines/
type PipelineVariableOptions ¶
type PipelineVariableOptions struct {
Key *string `url:"key,omitempty" json:"key,omitempty"`
Value *string `url:"value,omitempty" json:"value,omitempty"`
VariableType *VariableTypeValue `url:"variable_type,omitempty" json:"variable_type,omitempty"`
}
PipelineVariableOptions represents a pipeline variable option.
GitLab API docs: https://docs.gitlab.com/api/pipelines/#create-a-new-pipeline
type PipelinesEmailProperties ¶
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"`
}
PipelinesEmailProperties represents PipelinesEmail specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#pipeline-status-emails
type PipelinesEmailService ¶
type PipelinesEmailService struct {
Service
Properties *PipelinesEmailProperties `json:"properties"`
}
PipelinesEmailService represents Pipelines Email service settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#pipeline-status-emails
type PipelinesService ¶
type PipelinesService struct {
// contains filtered or unexported fields
}
PipelinesService handles communication with the repositories related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/pipelines/
func (*PipelinesService) CancelPipelineBuild ¶
func (s *PipelinesService) CancelPipelineBuild(pid any, pipeline int64, options ...RequestOptionFunc) (*Pipeline, *Response, error)
CancelPipelineBuild cancels a pipeline builds.
GitLab API docs: https://docs.gitlab.com/api/pipelines/#cancel-a-pipelines-jobs
func (*PipelinesService) CreatePipeline ¶
func (s *PipelinesService) CreatePipeline(pid any, opt *CreatePipelineOptions, options ...RequestOptionFunc) (*Pipeline, *Response, error)
CreatePipeline creates a new project pipeline.
GitLab API docs: https://docs.gitlab.com/api/pipelines/#create-a-new-pipeline
func (*PipelinesService) DeletePipeline ¶
func (s *PipelinesService) DeletePipeline(pid any, pipeline int64, options ...RequestOptionFunc) (*Response, error)
DeletePipeline deletes an existing pipeline.
GitLab API docs: https://docs.gitlab.com/api/pipelines/#delete-a-pipeline
func (*PipelinesService) GetLatestPipeline ¶
func (s *PipelinesService) GetLatestPipeline(pid any, 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/api/pipelines/#get-the-latest-pipeline
func (*PipelinesService) GetPipeline ¶
func (s *PipelinesService) GetPipeline(pid any, pipeline int64, options ...RequestOptionFunc) (*Pipeline, *Response, error)
GetPipeline gets a single project pipeline.
GitLab API docs: https://docs.gitlab.com/api/pipelines/#get-a-single-pipeline
func (*PipelinesService) GetPipelineTestReport ¶
func (s *PipelinesService) GetPipelineTestReport(pid any, pipeline int64, options ...RequestOptionFunc) (*PipelineTestReport, *Response, error)
GetPipelineTestReport gets the test report of a single project pipeline.
GitLab API docs: https://docs.gitlab.com/api/pipelines/#get-a-pipelines-test-report
func (*PipelinesService) GetPipelineTestReportSummary ¶
func (s *PipelinesService) GetPipelineTestReportSummary(pid any, pipeline int64, options ...RequestOptionFunc) (*PipelineTestReportSummary, *Response, error)
GetPipelineTestReportSummary gets the test report summary of a single project pipeline.
GitLab API docs: https://docs.gitlab.com/api/pipelines/#get-a-test-report-summary-for-a-pipeline
func (*PipelinesService) GetPipelineVariables ¶
func (s *PipelinesService) GetPipelineVariables(pid any, pipeline int64, options ...RequestOptionFunc) ([]*PipelineVariable, *Response, error)
GetPipelineVariables gets the variables of a single project pipeline.
GitLab API docs: https://docs.gitlab.com/api/pipelines/#get-variables-of-a-pipeline
func (*PipelinesService) ListProjectPipelines ¶
func (s *PipelinesService) ListProjectPipelines(pid any, opt *ListProjectPipelinesOptions, options ...RequestOptionFunc) ([]*PipelineInfo, *Response, error)
ListProjectPipelines gets a list of project pipelines.
GitLab API docs: https://docs.gitlab.com/api/pipelines/#list-project-pipelines
func (*PipelinesService) RetryPipelineBuild ¶
func (s *PipelinesService) RetryPipelineBuild(pid any, pipeline int64, options ...RequestOptionFunc) (*Pipeline, *Response, error)
RetryPipelineBuild retries failed builds in a pipeline.
GitLab API docs: https://docs.gitlab.com/api/pipelines/#retry-jobs-in-a-pipeline
func (*PipelinesService) UpdatePipelineMetadata ¶
func (s *PipelinesService) UpdatePipelineMetadata(pid any, pipeline int64, opt *UpdatePipelineMetadataOptions, options ...RequestOptionFunc) (*Pipeline, *Response, error)
UpdatePipelineMetadata You can update the metadata of a pipeline. The metadata contains the name of the pipeline.
GitLab API docs: https://docs.gitlab.com/api/pipelines/#update-pipeline-metadata
type PipelinesServiceInterface ¶
type PipelinesServiceInterface interface {
ListProjectPipelines(pid any, opt *ListProjectPipelinesOptions, options ...RequestOptionFunc) ([]*PipelineInfo, *Response, error)
GetPipeline(pid any, pipeline int64, options ...RequestOptionFunc) (*Pipeline, *Response, error)
GetPipelineVariables(pid any, pipeline int64, options ...RequestOptionFunc) ([]*PipelineVariable, *Response, error)
GetPipelineTestReport(pid any, pipeline int64, options ...RequestOptionFunc) (*PipelineTestReport, *Response, error)
GetPipelineTestReportSummary(pid any, pipeline int64, options ...RequestOptionFunc) (*PipelineTestReportSummary, *Response, error)
GetLatestPipeline(pid any, opt *GetLatestPipelineOptions, options ...RequestOptionFunc) (*Pipeline, *Response, error)
CreatePipeline(pid any, opt *CreatePipelineOptions, options ...RequestOptionFunc) (*Pipeline, *Response, error)
RetryPipelineBuild(pid any, pipeline int64, options ...RequestOptionFunc) (*Pipeline, *Response, error)
CancelPipelineBuild(pid any, pipeline int64, options ...RequestOptionFunc) (*Pipeline, *Response, error)
DeletePipeline(pid any, pipeline int64, options ...RequestOptionFunc) (*Response, error)
UpdatePipelineMetadata(pid any, pipeline int64, opt *UpdatePipelineMetadataOptions, options ...RequestOptionFunc) (*Pipeline, *Response, error)
}
type PlanLimit ¶
type PlanLimit struct {
ConanMaxFileSize int64 `json:"conan_max_file_size,omitempty"`
GenericPackagesMaxFileSize int64 `json:"generic_packages_max_file_size,omitempty"`
HelmMaxFileSize int64 `json:"helm_max_file_size,omitempty"`
MavenMaxFileSize int64 `json:"maven_max_file_size,omitempty"`
NPMMaxFileSize int64 `json:"npm_max_file_size,omitempty"`
NugetMaxFileSize int64 `json:"nuget_max_file_size,omitempty"`
PyPiMaxFileSize int64 `json:"pypi_max_file_size,omitempty"`
TerraformModuleMaxFileSize int64 `json:"terraform_module_max_file_size,omitempty"`
}
PlanLimit represents a GitLab pipeline.
GitLab API docs: https://docs.gitlab.com/api/plan_limits/
type PlanLimitsService ¶
type PlanLimitsService struct {
// contains filtered or unexported fields
}
PlanLimitsService handles communication with the repositories related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/plan_limits/
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/api/plan_limits/#change-plan-limits
func (*PlanLimitsService) GetCurrentPlanLimits ¶
func (s *PlanLimitsService) GetCurrentPlanLimits(opt *GetCurrentPlanLimitsOptions, options ...RequestOptionFunc) (*PlanLimit, *Response, error)
GetCurrentPlanLimits lists the current limits of a plan on the GitLab instance.
GitLab API docs: https://docs.gitlab.com/api/plan_limits/#get-current-plan-limits
type PlanLimitsServiceInterface ¶
type PlanLimitsServiceInterface interface {
GetCurrentPlanLimits(opt *GetCurrentPlanLimitsOptions, options ...RequestOptionFunc) (*PlanLimit, *Response, error)
ChangePlanLimits(opt *ChangePlanLimitOptions, options ...RequestOptionFunc) (*PlanLimit, *Response, error)
}
type 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"`
}
PlatformKubernetes represents a GitLab Project Cluster PlatformKubernetes. Deprecated: in GitLab 14.5, to be removed in 19.0
type PlayJobOptions ¶
type PlayJobOptions struct {
JobVariablesAttributes *[]*JobVariableOptions `url:"job_variables_attributes,omitempty" json:"job_variables_attributes,omitempty"`
}
PlayJobOptions represents the available PlayJob() options.
GitLab API docs: https://docs.gitlab.com/api/jobs/#run-a-job
type PositionOptions ¶
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 *int64 `url:"new_line,omitempty" json:"new_line,omitempty"`
OldLine *int64 `url:"old_line,omitempty" json:"old_line,omitempty"`
LineRange *LineRangeOptions `url:"line_range,omitempty" json:"line_range,omitempty"`
Width *int64 `url:"width,omitempty" json:"width,omitempty"`
Height *int64 `url:"height,omitempty" json:"height,omitempty"`
X *float64 `url:"x,omitempty" json:"x,omitempty"`
Y *float64 `url:"y,omitempty" json:"y,omitempty"`
}
PositionOptions represents the position option of a discussion.
type PostCommitCommentOptions ¶
type PostCommitCommentOptions struct {
Note *string `url:"note,omitempty" json:"note,omitempty"`
Path *string `url:"path" json:"path"`
Line *int64 `url:"line" json:"line"`
LineType *string `url:"line_type" json:"line_type"`
}
PostCommitCommentOptions represents the available PostCommitComment() options.
GitLab API docs: https://docs.gitlab.com/api/commits/#post-comment-to-commit
type ProcessMetrics ¶
type ProcessMetrics struct {
Processes []ProcessMetricsProcess `json:"processes"`
}
ProcessMetrics represents the GitLab sidekiq process metrics.
GitLab API docs: https://docs.gitlab.com/api/sidekiq_metrics/#get-the-current-process-metrics
type ProcessMetricsProcess ¶
type ProcessMetricsProcess struct {
Hostname string `json:"hostname"`
Pid int64 `json:"pid"`
Tag string `json:"tag"`
StartedAt *time.Time `json:"started_at"`
Queues []string `json:"queues"`
Labels []string `json:"labels"`
Concurrency int64 `json:"concurrency"`
Busy int64 `json:"busy"`
}
ProcessMetricsProcess represents the GitLab sidekiq process metrics process.
GitLab API docs: https://docs.gitlab.com/api/sidekiq_metrics/#get-the-current-process-metrics
type Project ¶
type Project struct {
ID int64 `json:"id"`
Description string `json:"description"`
DefaultBranch string `json:"default_branch"`
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"`
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"`
OpenIssuesCount int64 `json:"open_issues_count"`
ResolveOutdatedDiffDiscussions bool `json:"resolve_outdated_diff_discussions"`
ContainerExpirationPolicy *ContainerExpirationPolicy `json:"container_expiration_policy,omitempty"`
ContainerRegistryAccessLevel AccessControlValue `json:"container_registry_access_level"`
ContainerRegistryImagePrefix string `json:"container_registry_image_prefix,omitempty"`
CreatedAt *time.Time `json:"created_at,omitempty"`
UpdatedAt *time.Time `json:"updated_at,omitempty"`
LastActivityAt *time.Time `json:"last_activity_at,omitempty"`
CreatorID int64 `json:"creator_id"`
Namespace *ProjectNamespace `json:"namespace"`
Permissions *Permissions `json:"permissions"`
MarkedForDeletionOn *ISOTime `json:"marked_for_deletion_on"`
EmptyRepo bool `json:"empty_repo"`
Archived bool `json:"archived"`
AvatarURL string `json:"avatar_url"`
LicenseURL string `json:"license_url"`
License *ProjectLicense `json:"license"`
GroupRunnersEnabled bool `json:"group_runners_enabled"`
ResourceGroupDefaultProcessMode ResourceGroupProcessMode `json:"resource_group_default_process_mode"`
RunnerTokenExpirationInterval int64 `json:"runner_token_expiration_interval"`
ForksCount int64 `json:"forks_count"`
StarCount int64 `json:"star_count"`
RunnersToken string `json:"runners_token"`
CIDisplayPipelineVariables bool `json:"ci_display_pipeline_variables"`
AllowMergeOnSkippedPipeline bool `json:"allow_merge_on_skipped_pipeline"`
AllowPipelineTriggerApproveDeployment bool `json:"allow_pipeline_trigger_approve_deployment"`
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"`
PreventMergeWithoutJiraIssue bool `json:"prevent_merge_without_jira_issue"`
PrintingMergeRequestLinkEnabled bool `json:"printing_merge_request_link_enabled"`
LFSEnabled bool `json:"lfs_enabled"`
MaxArtifactsSize int64 `json:"max_artifacts_size"`
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 int64 `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"`
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 int64 `json:"ci_default_git_depth"`
CIDeletePipelinesInSeconds int64 `json:"ci_delete_pipelines_in_seconds,omitempty"`
CIForwardDeploymentEnabled bool `json:"ci_forward_deployment_enabled"`
CIForwardDeploymentRollbackAllowed bool `json:"ci_forward_deployment_rollback_allowed"`
CIPushRepositoryForJobTokenAllowed bool `json:"ci_push_repository_for_job_token_allowed"`
CIIdTokenSubClaimComponents []string `json:"ci_id_token_sub_claim_components"`
CISeparatedCaches 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 int64 `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"`
MergeTrainsSkipTrainAllowed bool `json:"merge_trains_skip_train_allowed"`
CIPipelineVariablesMinimumOverrideRole CIPipelineVariablesMinimumOverrideRoleValue `json:"ci_pipeline_variables_minimum_override_role"`
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"`
PreReceiveSecretDetectionEnabled bool `json:"pre_receive_secret_detection_enabled"`
AutoDuoCodeReviewEnabled bool `json:"auto_duo_code_review_enabled"`
MergeRequestTitleRegex string `json:"merge_request_title_regex"`
MergeRequestTitleRegexDescription string `json:"merge_request_title_regex_description"`
// Deprecated: use Topics instead
TagList []string `json:"tag_list"`
// Deprecated: use IssuesAccessLevel instead
IssuesEnabled bool `json:"issues_enabled"`
// Deprecated: use MergeRequestsAccessLevel instead
MergeRequestsEnabled bool `json:"merge_requests_enabled"`
// Deprecated: use Merge Request Approvals API instead
ApprovalsBeforeMerge int64 `json:"approvals_before_merge"`
// Deprecated: use BuildsAccessLevel instead
JobsEnabled bool `json:"jobs_enabled"`
// Deprecated: use WikiAccessLevel instead
WikiEnabled bool `json:"wiki_enabled"`
// Deprecated: use SnippetsAccessLevel instead
SnippetsEnabled bool `json:"snippets_enabled"`
// Deprecated: use ContainerRegistryAccessLevel instead
ContainerRegistryEnabled bool `json:"container_registry_enabled"`
// Deprecated: use MarkedForDeletionOn instead
MarkedForDeletionAt *ISOTime `json:"marked_for_deletion_at"`
// Deprecated: use CIPipelineVariablesMinimumOverrideRole instead
RestrictUserDefinedVariables bool `json:"restrict_user_defined_variables"`
// 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"`
}
Project represents a GitLab project.
GitLab API docs: https://docs.gitlab.com/api/projects/
type ProjectAccess ¶
type ProjectAccess struct {
AccessLevel AccessLevelValue `json:"access_level"`
NotificationLevel NotificationLevelValue `json:"notification_level"`
}
ProjectAccess represents project access.
type ProjectAccessToken ¶
type ProjectAccessToken resourceAccessToken
ProjectAccessToken represents a GitLab project access token.
GitLab API docs: https://docs.gitlab.com/api/project_access_tokens/
func (ProjectAccessToken) String ¶
func (v ProjectAccessToken) String() string
type ProjectAccessTokensService ¶
type ProjectAccessTokensService struct {
// contains filtered or unexported fields
}
ProjectAccessTokensService handles communication with the project access tokens related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/project_access_tokens/
func (*ProjectAccessTokensService) CreateProjectAccessToken ¶
func (s *ProjectAccessTokensService) CreateProjectAccessToken(pid any, opt *CreateProjectAccessTokenOptions, options ...RequestOptionFunc) (*ProjectAccessToken, *Response, error)
CreateProjectAccessToken creates a new project access token.
GitLab API docs: https://docs.gitlab.com/api/project_access_tokens/#create-a-project-access-token
func (*ProjectAccessTokensService) GetProjectAccessToken ¶
func (s *ProjectAccessTokensService) GetProjectAccessToken(pid any, id int64, options ...RequestOptionFunc) (*ProjectAccessToken, *Response, error)
GetProjectAccessToken gets a single project access tokens in a project.
GitLab API docs: https://docs.gitlab.com/api/project_access_tokens/#get-details-on-a-project-access-token
func (*ProjectAccessTokensService) ListProjectAccessTokens ¶
func (s *ProjectAccessTokensService) ListProjectAccessTokens(pid any, 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/api/project_access_tokens/#list-all-project-access-tokens
func (*ProjectAccessTokensService) RevokeProjectAccessToken ¶
func (s *ProjectAccessTokensService) RevokeProjectAccessToken(pid any, id int64, options ...RequestOptionFunc) (*Response, error)
RevokeProjectAccessToken revokes a project access token.
GitLab API docs: https://docs.gitlab.com/api/project_access_tokens/#revoke-a-project-access-token
func (*ProjectAccessTokensService) RotateProjectAccessToken ¶
func (s *ProjectAccessTokensService) RotateProjectAccessToken(pid any, id int64, 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/api/project_access_tokens/#rotate-a-project-access-token
func (*ProjectAccessTokensService) RotateProjectAccessTokenSelf ¶
func (s *ProjectAccessTokensService) RotateProjectAccessTokenSelf(pid any, opt *RotateProjectAccessTokenOptions, options ...RequestOptionFunc) (*ProjectAccessToken, *Response, error)
RotateProjectAccessTokenSelf revokes the project access token used for the request and returns a new project access token that expires in one week per default.
GitLab API docs: https://docs.gitlab.com/api/project_access_tokens/#self-rotate
type ProjectAccessTokensServiceInterface ¶
type ProjectAccessTokensServiceInterface interface {
ListProjectAccessTokens(pid any, opt *ListProjectAccessTokensOptions, options ...RequestOptionFunc) ([]*ProjectAccessToken, *Response, error)
GetProjectAccessToken(pid any, id int64, options ...RequestOptionFunc) (*ProjectAccessToken, *Response, error)
CreateProjectAccessToken(pid any, opt *CreateProjectAccessTokenOptions, options ...RequestOptionFunc) (*ProjectAccessToken, *Response, error)
RotateProjectAccessToken(pid any, id int64, opt *RotateProjectAccessTokenOptions, options ...RequestOptionFunc) (*ProjectAccessToken, *Response, error)
RotateProjectAccessTokenSelf(pid any, opt *RotateProjectAccessTokenOptions, options ...RequestOptionFunc) (*ProjectAccessToken, *Response, error)
RevokeProjectAccessToken(pid any, id int64, options ...RequestOptionFunc) (*Response, error)
}
type ProjectAlias ¶
type ProjectAlias struct {
ID int64 `json:"id"`
ProjectID int64 `json:"project_id"`
Name string `json:"name"`
}
ProjectAlias represents a GitLab project alias.
GitLab API docs: https://docs.gitlab.com/api/project_aliases/
type ProjectAliasesService ¶
type ProjectAliasesService struct {
// contains filtered or unexported fields
}
ProjectAliasesService handles communication with the project aliases related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/project_aliases/
func (*ProjectAliasesService) CreateProjectAlias ¶
func (s *ProjectAliasesService) CreateProjectAlias(opt *CreateProjectAliasOptions, options ...RequestOptionFunc) (*ProjectAlias, *Response, error)
CreateProjectAlias creates a new project alias.
GitLab API docs: https://docs.gitlab.com/api/project_aliases/#create-a-project-alias
func (*ProjectAliasesService) DeleteProjectAlias ¶
func (s *ProjectAliasesService) DeleteProjectAlias(name string, options ...RequestOptionFunc) (*Response, error)
DeleteProjectAlias deletes a project alias.
GitLab API docs: https://docs.gitlab.com/api/project_aliases/#delete-a-project-alias
func (*ProjectAliasesService) GetProjectAlias ¶
func (s *ProjectAliasesService) GetProjectAlias(name string, options ...RequestOptionFunc) (*ProjectAlias, *Response, error)
GetProjectAlias gets details of a project alias.
GitLab API docs: https://docs.gitlab.com/api/project_aliases/#get-project-alias-details
func (*ProjectAliasesService) ListProjectAliases ¶
func (s *ProjectAliasesService) ListProjectAliases(options ...RequestOptionFunc) ([]*ProjectAlias, *Response, error)
ListProjectAliases gets a list of all project aliases.
GitLab API docs: https://docs.gitlab.com/api/project_aliases/#list-all-project-aliases
type ProjectAliasesServiceInterface ¶
type ProjectAliasesServiceInterface interface {
ListProjectAliases(options ...RequestOptionFunc) ([]*ProjectAlias, *Response, error)
GetProjectAlias(name string, options ...RequestOptionFunc) (*ProjectAlias, *Response, error)
CreateProjectAlias(opt *CreateProjectAliasOptions, options ...RequestOptionFunc) (*ProjectAlias, *Response, error)
DeleteProjectAlias(name string, options ...RequestOptionFunc) (*Response, error)
}
type ProjectApprovalRule ¶
type ProjectApprovalRule struct {
ID int64 `json:"id"`
Name string `json:"name"`
RuleType string `json:"rule_type"`
ReportType string `json:"report_type"`
EligibleApprovers []*BasicUser `json:"eligible_approvers"`
ApprovalsRequired int64 `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"`
}
ProjectApprovalRule represents a GitLab project approval rule.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#get-all-approval-rules-for-project
func (ProjectApprovalRule) String ¶
func (s ProjectApprovalRule) String() string
type ProjectApprovals ¶
type ProjectApprovals struct {
Approvers []*MergeRequestApproverUser `json:"approvers"`
ApproverGroups []*MergeRequestApproverGroup `json:"approver_groups"`
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"`
RequireReauthenticationToApprove bool `json:"require_reauthentication_to_approve,omitempty"`
SelectiveCodeOwnerRemovals bool `json:"selective_code_owner_removals,omitempty"`
// Deprecated: use Merge Request Approvals API instead
ApprovalsBeforeMerge int64 `json:"approvals_before_merge"`
// Deprecated: use RequireReauthenticationToApprove instead
RequirePasswordToApprove bool `json:"require_password_to_approve"`
}
ProjectApprovals represents GitLab project level merge request approvals.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#project-approval-rules
type ProjectAvatar ¶
ProjectAvatar represents a GitLab project avatar.
GitLab API docs: https://docs.gitlab.com/api/projects/#create-a-project
func (*ProjectAvatar) MarshalJSON ¶
func (a *ProjectAvatar) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
type ProjectBadge ¶
type ProjectBadge struct {
ID int64 `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"`
}
ProjectBadge represents a project badge.
GitLab API docs: https://docs.gitlab.com/api/project_badges/#list-all-badges-of-a-project
type ProjectBadgePreviewOptions ¶
type ProjectBadgePreviewOptions struct {
LinkURL *string `url:"link_url,omitempty" json:"link_url,omitempty"`
ImageURL *string `url:"image_url,omitempty" json:"image_url,omitempty"`
}
ProjectBadgePreviewOptions represents the available PreviewProjectBadge() options.
GitLab API docs: https://docs.gitlab.com/api/project_badges/#preview-a-badge-from-a-project
type ProjectBadgesService ¶
type ProjectBadgesService struct {
// contains filtered or unexported fields
}
ProjectBadgesService handles communication with the project badges related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/project_badges/
func (*ProjectBadgesService) AddProjectBadge ¶
func (s *ProjectBadgesService) AddProjectBadge(pid any, opt *AddProjectBadgeOptions, options ...RequestOptionFunc) (*ProjectBadge, *Response, error)
AddProjectBadge adds a badge to a project.
GitLab API docs: https://docs.gitlab.com/api/project_badges/#add-a-badge-to-a-project
func (*ProjectBadgesService) DeleteProjectBadge ¶
func (s *ProjectBadgesService) DeleteProjectBadge(pid any, badge int64, 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/api/project_badges/#remove-a-badge-from-a-project
func (*ProjectBadgesService) EditProjectBadge ¶
func (s *ProjectBadgesService) EditProjectBadge(pid any, badge int64, opt *EditProjectBadgeOptions, options ...RequestOptionFunc) (*ProjectBadge, *Response, error)
EditProjectBadge updates a badge of a project.
GitLab API docs: https://docs.gitlab.com/api/project_badges/#edit-a-badge-of-a-project
func (*ProjectBadgesService) GetProjectBadge ¶
func (s *ProjectBadgesService) GetProjectBadge(pid any, badge int64, options ...RequestOptionFunc) (*ProjectBadge, *Response, error)
GetProjectBadge gets a project badge.
GitLab API docs: https://docs.gitlab.com/api/project_badges/#get-a-badge-of-a-project
func (*ProjectBadgesService) ListProjectBadges ¶
func (s *ProjectBadgesService) ListProjectBadges(pid any, 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/api/project_badges/#list-all-badges-of-a-project
func (*ProjectBadgesService) PreviewProjectBadge ¶
func (s *ProjectBadgesService) PreviewProjectBadge(pid any, 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/api/project_badges/#preview-a-badge-from-a-project
type ProjectBadgesServiceInterface ¶
type ProjectBadgesServiceInterface interface {
ListProjectBadges(pid any, opt *ListProjectBadgesOptions, options ...RequestOptionFunc) ([]*ProjectBadge, *Response, error)
GetProjectBadge(pid any, badge int64, options ...RequestOptionFunc) (*ProjectBadge, *Response, error)
AddProjectBadge(pid any, opt *AddProjectBadgeOptions, options ...RequestOptionFunc) (*ProjectBadge, *Response, error)
EditProjectBadge(pid any, badge int64, opt *EditProjectBadgeOptions, options ...RequestOptionFunc) (*ProjectBadge, *Response, error)
DeleteProjectBadge(pid any, badge int64, options ...RequestOptionFunc) (*Response, error)
PreviewProjectBadge(pid any, opt *ProjectBadgePreviewOptions, options ...RequestOptionFunc) (*ProjectBadge, *Response, error)
}
type ProjectCluster ¶
type ProjectCluster struct {
ID int64 `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"`
}
ProjectCluster represents a GitLab Project Cluster. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/project_clusters/
func (ProjectCluster) String
deprecated
func (v ProjectCluster) String() string
Deprecated: in GitLab 14.5, to be removed in 19.0
type ProjectClustersService ¶
type ProjectClustersService struct {
// contains filtered or unexported fields
}
ProjectClustersService handles communication with the project clusters related methods of the GitLab API. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/project_clusters/
func (*ProjectClustersService) AddCluster ¶
func (s *ProjectClustersService) AddCluster(pid any, opt *AddClusterOptions, options ...RequestOptionFunc) (*ProjectCluster, *Response, error)
AddCluster adds an existing cluster to the project. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/project_clusters/#add-existing-cluster-to-project
func (*ProjectClustersService) DeleteCluster ¶
func (s *ProjectClustersService) DeleteCluster(pid any, cluster int64, options ...RequestOptionFunc) (*Response, error)
DeleteCluster deletes an existing project cluster. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/project_clusters/#delete-project-cluster
func (*ProjectClustersService) EditCluster ¶
func (s *ProjectClustersService) EditCluster(pid any, cluster int64, opt *EditClusterOptions, options ...RequestOptionFunc) (*ProjectCluster, *Response, error)
EditCluster updates an existing project cluster. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/project_clusters/#edit-project-cluster
func (*ProjectClustersService) GetCluster ¶
func (s *ProjectClustersService) GetCluster(pid any, cluster int64, options ...RequestOptionFunc) (*ProjectCluster, *Response, error)
GetCluster gets a cluster. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/project_clusters/#get-a-single-project-cluster
func (*ProjectClustersService) ListClusters ¶
func (s *ProjectClustersService) ListClusters(pid any, options ...RequestOptionFunc) ([]*ProjectCluster, *Response, error)
ListClusters gets a list of all clusters in a project. Deprecated: in GitLab 14.5, to be removed in 19.0
GitLab API docs: https://docs.gitlab.com/api/project_clusters/#list-project-clusters
type ProjectClustersServiceInterface
deprecated
type ProjectClustersServiceInterface interface {
// Deprecated: in GitLab 14.5, to be removed in 19.0
ListClusters(pid any, options ...RequestOptionFunc) ([]*ProjectCluster, *Response, error)
// Deprecated: in GitLab 14.5, to be removed in 19.0
GetCluster(pid any, cluster int64, options ...RequestOptionFunc) (*ProjectCluster, *Response, error)
// Deprecated: in GitLab 14.5, to be removed in 19.0
AddCluster(pid any, opt *AddClusterOptions, options ...RequestOptionFunc) (*ProjectCluster, *Response, error)
// Deprecated: in GitLab 14.5, to be removed in 19.0
EditCluster(pid any, cluster int64, opt *EditClusterOptions, options ...RequestOptionFunc) (*ProjectCluster, *Response, error)
// Deprecated: in GitLab 14.5, to be removed in 19.0
DeleteCluster(pid any, cluster int64, options ...RequestOptionFunc) (*Response, error)
}
Deprecated: in GitLab 14.5, to be removed in 19.0
type ProjectCreationLevelValue ¶
type ProjectCreationLevelValue string
ProjectCreationLevelValue represents a project creation level within GitLab.
GitLab API docs: https://docs.gitlab.com/api/groups/
const ( NoOneProjectCreation ProjectCreationLevelValue = "noone" MaintainerProjectCreation ProjectCreationLevelValue = "maintainer" DeveloperProjectCreation ProjectCreationLevelValue = "developer" OwnerProjectCreation ProjectCreationLevelValue = "owner" AdministratorProjectCreation ProjectCreationLevelValue = "administrator" )
List of available project creation levels.
GitLab API docs: https://docs.gitlab.com/api/groups/
type ProjectDeployKey ¶
type ProjectDeployKey struct {
ID int64 `json:"id"`
Title string `json:"title"`
Key string `json:"key"`
Fingerprint string `json:"fingerprint"`
FingerprintSHA256 string `json:"fingerprint_sha256"`
CreatedAt *time.Time `json:"created_at"`
CanPush bool `json:"can_push"`
ExpiresAt *time.Time `json:"expires_at"`
}
ProjectDeployKey represents a GitLab project deploy key.
func (ProjectDeployKey) String ¶
func (k ProjectDeployKey) String() string
type ProjectEvent ¶
type ProjectEvent struct {
ID int64 `json:"id"`
Title string `json:"title"`
ProjectID int64 `json:"project_id"`
ActionName string `json:"action_name"`
TargetID int64 `json:"target_id"`
TargetIID int64 `json:"target_iid"`
TargetType string `json:"target_type"`
AuthorID int64 `json:"author_id"`
TargetTitle string `json:"target_title"`
CreatedAt string `json:"created_at"`
Author BasicUser `json:"author"`
AuthorUsername string `json:"author_username"`
Data ProjectEventData `json:"data"`
Note ProjectEventNote `json:"note"`
PushData ProjectEventPushData `json:"push_data"`
}
ProjectEvent represents a GitLab project event.
GitLab API docs: https://docs.gitlab.com/api/events/#list-all-visible-events-for-a-project
func (ProjectEvent) String ¶
func (s ProjectEvent) String() string
type ProjectEventData ¶
type ProjectEventData struct {
Before string `json:"before"`
After string `json:"after"`
Ref string `json:"ref"`
UserID int64 `json:"user_id"`
UserName string `json:"user_name"`
Repository *Repository `json:"repository"`
Commits []*Commit `json:"commits"`
TotalCommitsCount int64 `json:"total_commits_count"`
}
ProjectEventData represents the GitLab project event data.
GitLab API docs: https://docs.gitlab.com/api/events/#list-all-visible-events-for-a-project
func (ProjectEventData) String ¶
func (d ProjectEventData) String() string
type ProjectEventNote ¶
type ProjectEventNote struct {
ID int64 `json:"id"`
Body string `json:"body"`
Attachment string `json:"attachment"`
Author ProjectEventNoteAuthor `json:"author"`
CreatedAt *time.Time `json:"created_at"`
System bool `json:"system"`
NoteableID int64 `json:"noteable_id"`
NoteableType string `json:"noteable_type"`
NoteableIID int64 `json:"noteable_iid"`
}
ProjectEventNote represents a GitLab project event note.
GitLab API docs: https://docs.gitlab.com/api/events/#list-all-visible-events-for-a-project
func (ProjectEventNote) String ¶
func (n ProjectEventNote) String() string
type ProjectEventNoteAuthor ¶
type ProjectEventNoteAuthor struct {
ID int64 `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"`
}
ProjectEventNoteAuthor represents a GitLab project event note author.
GitLab API docs: https://docs.gitlab.com/api/events/#list-all-visible-events-for-a-project
func (ProjectEventNoteAuthor) String ¶
func (a ProjectEventNoteAuthor) String() string
type ProjectEventOwner ¶
type ProjectEventPushData ¶
type ProjectEventPushData struct {
CommitCount int64 `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"`
}
ProjectEventPushData represents a GitLab project event push data.
GitLab API docs: https://docs.gitlab.com/api/events/#list-all-visible-events-for-a-project
func (ProjectEventPushData) String ¶
func (d ProjectEventPushData) String() string
type ProjectFeatureFlag ¶
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"`
}
ProjectFeatureFlag represents a GitLab project iteration.
GitLab API docs: https://docs.gitlab.com/api/feature_flags/
func (ProjectFeatureFlag) String ¶
func (i ProjectFeatureFlag) String() string
type ProjectFeatureFlagScope ¶
type ProjectFeatureFlagScope struct {
ID int64 `json:"id"`
EnvironmentScope string `json:"environment_scope"`
}
ProjectFeatureFlagScope defines the scopes of a feature flag
GitLab API docs: https://docs.gitlab.com/api/feature_flags/
type ProjectFeatureFlagScopeOptions ¶
type ProjectFeatureFlagScopeOptions struct {
ID *int64 `url:"id,omitempty" json:"id,omitempty"`
EnvironmentScope *string `url:"id,omitempty" json:"environment_scope,omitempty"`
}
ProjectFeatureFlagScopeOptions represents the available feature flag scope options.
GitLab API docs: https://docs.gitlab.com/api/feature_flags/#create-a-feature-flag
type ProjectFeatureFlagService ¶
type ProjectFeatureFlagService struct {
// contains filtered or unexported fields
}
ProjectFeatureFlagService handles operations on gitlab project feature flags using the following api:
GitLab API docs: https://docs.gitlab.com/api/feature_flags/
func (*ProjectFeatureFlagService) CreateProjectFeatureFlag ¶
func (s *ProjectFeatureFlagService) CreateProjectFeatureFlag(pid any, opt *CreateProjectFeatureFlagOptions, options ...RequestOptionFunc) (*ProjectFeatureFlag, *Response, error)
func (*ProjectFeatureFlagService) DeleteProjectFeatureFlag ¶
func (s *ProjectFeatureFlagService) DeleteProjectFeatureFlag(pid any, name string, options ...RequestOptionFunc) (*Response, error)
func (*ProjectFeatureFlagService) GetProjectFeatureFlag ¶
func (s *ProjectFeatureFlagService) GetProjectFeatureFlag(pid any, name string, options ...RequestOptionFunc) (*ProjectFeatureFlag, *Response, error)
func (*ProjectFeatureFlagService) ListProjectFeatureFlags ¶
func (s *ProjectFeatureFlagService) ListProjectFeatureFlags(pid any, opt *ListProjectFeatureFlagOptions, options ...RequestOptionFunc) ([]*ProjectFeatureFlag, *Response, error)
func (*ProjectFeatureFlagService) UpdateProjectFeatureFlag ¶
func (s *ProjectFeatureFlagService) UpdateProjectFeatureFlag(pid any, name string, opt *UpdateProjectFeatureFlagOptions, options ...RequestOptionFunc) (*ProjectFeatureFlag, *Response, error)
type ProjectFeatureFlagServiceInterface ¶
type ProjectFeatureFlagServiceInterface interface {
// ListProjectFeatureFlags returns a list with the feature flags of a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/feature_flags/#list-feature-flags-for-a-project
ListProjectFeatureFlags(pid any, opt *ListProjectFeatureFlagOptions, options ...RequestOptionFunc) ([]*ProjectFeatureFlag, *Response, error)
// GetProjectFeatureFlag gets a single feature flag for the specified project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/feature_flags/#get-a-single-feature-flag
GetProjectFeatureFlag(pid any, name string, options ...RequestOptionFunc) (*ProjectFeatureFlag, *Response, error)
// CreateProjectFeatureFlag creates a feature flag.
//
// GitLab API docs:
// https://docs.gitlab.com/api/feature_flags/#create-a-feature-flag
CreateProjectFeatureFlag(pid any, opt *CreateProjectFeatureFlagOptions, options ...RequestOptionFunc) (*ProjectFeatureFlag, *Response, error)
// UpdateProjectFeatureFlag updates a feature flag.
//
// GitLab API docs:
// https://docs.gitlab.com/api/feature_flags/#update-a-feature-flag
UpdateProjectFeatureFlag(pid any, name string, opt *UpdateProjectFeatureFlagOptions, options ...RequestOptionFunc) (*ProjectFeatureFlag, *Response, error)
// DeleteProjectFeatureFlag deletes a feature flag.
//
// GitLab API docs:
// https://docs.gitlab.com/api/feature_flags/#delete-a-feature-flag
DeleteProjectFeatureFlag(pid any, name string, options ...RequestOptionFunc) (*Response, error)
}
type ProjectFeatureFlagStrategy ¶
type ProjectFeatureFlagStrategy struct {
ID int64 `json:"id"`
Name string `json:"name"`
Parameters *ProjectFeatureFlagStrategyParameter `json:"parameters"`
Scopes []*ProjectFeatureFlagScope `json:"scopes"`
}
ProjectFeatureFlagStrategy defines the strategy used for a feature flag
GitLab API docs: https://docs.gitlab.com/api/feature_flags/
type ProjectFeatureFlagStrategyParameter ¶
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"`
}
ProjectFeatureFlagStrategyParameter is used in updating and creating feature flags
GitLab API docs: https://docs.gitlab.com/api/feature_flags/
type ProjectForkRelation ¶
type ProjectForkRelation struct {
ID int64 `json:"id"`
ForkedToProjectID int64 `json:"forked_to_project_id"`
ForkedFromProjectID int64 `json:"forked_from_project_id"`
CreatedAt *time.Time `json:"created_at"`
UpdatedAt *time.Time `json:"updated_at"`
}
ProjectForkRelation represents a project fork relationship.
GitLab API docs: https://docs.gitlab.com/api/project_forks/#create-a-fork-relationship-between-projects
type ProjectGroup ¶
type ProjectGroup struct {
ID int64 `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"`
}
ProjectGroup represents a GitLab project group. GitLab API docs: https://docs.gitlab.com/api/projects/#list-groups
type ProjectHook ¶
type ProjectHook struct {
ID int64 `json:"id"`
URL string `json:"url"`
Name string `json:"name"`
Description string `json:"description"`
ProjectID int64 `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"`
ConfidentialNoteEvents bool `json:"confidential_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"`
MilestoneEvents bool `json:"milestone_events"`
FeatureFlagEvents bool `json:"feature_flag_events"`
EmojiEvents bool `json:"emoji_events"`
EnableSSLVerification bool `json:"enable_ssl_verification"`
RepositoryUpdateEvents bool `json:"repository_update_events"`
AlertStatus string `json:"alert_status"`
DisabledUntil *time.Time `json:"disabled_until"`
URLVariables []HookURLVariable `json:"url_variables"`
CreatedAt *time.Time `json:"created_at"`
ResourceAccessTokenEvents bool `json:"resource_access_token_events"`
CustomWebhookTemplate string `json:"custom_webhook_template"`
CustomHeaders []*HookCustomHeader `json:"custom_headers"`
VulnerabilityEvents bool `json:"vulnerability_events"`
BranchFilterStrategy string `json:"branch_filter_strategy"`
}
ProjectHook represents a project hook.
GitLab API docs: https://docs.gitlab.com/api/project_webhooks/#list-webhooks-for-a-project
type ProjectHookEvent ¶
type ProjectHookEvent string
ProjectHookEvent represents a project hook event.
GitLab API docs: https://docs.gitlab.com/api/projects/#hook-events
const ( ProjectHookEventPush ProjectHookEvent = "push_events" ProjectHookEventTagPush ProjectHookEvent = "tag_push_events" ProjectHookEventIssues ProjectHookEvent = "issues_events" ProjectHookEventConfidentialIssues ProjectHookEvent = "confidential_issues_events" ProjectHookEventNote ProjectHookEvent = "note_events" ProjectHookEventMergeRequests ProjectHookEvent = "merge_requests_events" ProjectHookEventJob ProjectHookEvent = "job_events" ProjectHookEventPipeline ProjectHookEvent = "pipeline_events" ProjectHookEventWiki ProjectHookEvent = "wiki_page_events" ProjectHookEventReleases ProjectHookEvent = "releases_events" ProjectHookEventEmoji ProjectHookEvent = "emoji_events" ProjectHookEventResourceAccessToken ProjectHookEvent = "resource_access_token_events" )
List of available project hook events.
GitLab API docs: https://docs.gitlab.com/api/projects/#hook-events
type ProjectImportExportService ¶
type ProjectImportExportService struct {
// contains filtered or unexported fields
}
ProjectImportExportService handles communication with the project import/export related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/project_import_export/
func (*ProjectImportExportService) ExportDownload ¶
func (s *ProjectImportExportService) ExportDownload(pid any, options ...RequestOptionFunc) ([]byte, *Response, error)
func (*ProjectImportExportService) ExportStatus ¶
func (s *ProjectImportExportService) ExportStatus(pid any, options ...RequestOptionFunc) (*ExportStatus, *Response, error)
func (*ProjectImportExportService) ImportFromFile ¶
func (s *ProjectImportExportService) ImportFromFile(archive io.Reader, opt *ImportFileOptions, options ...RequestOptionFunc) (*ImportStatus, *Response, error)
func (*ProjectImportExportService) ImportStatus ¶
func (s *ProjectImportExportService) ImportStatus(pid any, options ...RequestOptionFunc) (*ImportStatus, *Response, error)
func (*ProjectImportExportService) ScheduleExport ¶
func (s *ProjectImportExportService) ScheduleExport(pid any, opt *ScheduleExportOptions, options ...RequestOptionFunc) (*Response, error)
type ProjectImportExportServiceInterface ¶
type ProjectImportExportServiceInterface interface {
// ScheduleExport schedules a project export.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_import_export/#schedule-an-export
ScheduleExport(pid any, opt *ScheduleExportOptions, options ...RequestOptionFunc) (*Response, error)
// ExportStatus gets the status of export.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_import_export/#export-status
ExportStatus(pid any, options ...RequestOptionFunc) (*ExportStatus, *Response, error)
// ExportDownload downloads the finished export.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_import_export/#export-download
ExportDownload(pid any, options ...RequestOptionFunc) ([]byte, *Response, error)
// ImportFromFile imports a project from an archive file.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_import_export/#import-a-file
ImportFromFile(archive io.Reader, opt *ImportFileOptions, options ...RequestOptionFunc) (*ImportStatus, *Response, error)
// ImportStatus gets the status of an import.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_import_export/#import-status
ImportStatus(pid any, options ...RequestOptionFunc) (*ImportStatus, *Response, error)
}
type ProjectIteration ¶
type ProjectIteration struct {
ID int64 `json:"id"`
IID int64 `json:"iid"`
Sequence int64 `json:"sequence"`
GroupID int64 `json:"group_id"`
Title string `json:"title"`
Description string `json:"description"`
State int64 `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"`
}
ProjectIteration represents a GitLab project iteration.
GitLab API docs: https://docs.gitlab.com/api/iterations/
func (ProjectIteration) String ¶
func (i ProjectIteration) String() string
type ProjectIterationsService ¶
type ProjectIterationsService struct {
// contains filtered or unexported fields
}
ProjectIterationsService handles communication with the project iterations related methods of the GitLab API
GitLab API docs: https://docs.gitlab.com/api/iterations/
func (*ProjectIterationsService) ListProjectIterations ¶
func (i *ProjectIterationsService) ListProjectIterations(pid any, opt *ListProjectIterationsOptions, options ...RequestOptionFunc) ([]*ProjectIteration, *Response, error)
ListProjectIterations returns a list of projects iterations.
GitLab API docs: https://docs.gitlab.com/api/iterations/#list-project-iterations
type ProjectIterationsServiceInterface ¶
type ProjectIterationsServiceInterface interface {
ListProjectIterations(pid any, opt *ListProjectIterationsOptions, options ...RequestOptionFunc) ([]*ProjectIteration, *Response, error)
}
type ProjectLanguages ¶
ProjectLanguages is a map of strings because the response is arbitrary
GitLab API docs: https://docs.gitlab.com/api/projects/#list-programming-languages-used
type ProjectLicense ¶
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"`
}
ProjectLicense represent the license for a project.
type ProjectLintOptions ¶
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"`
}
ProjectLintOptions represents the available ProjectLint() options.
GitLab API docs: https://docs.gitlab.com/api/lint/#validate-a-projects-cicd-configuration
type ProjectLintResult ¶
type ProjectLintResult struct {
Valid bool `json:"valid"`
Errors []string `json:"errors"`
Warnings []string `json:"warnings"`
MergedYaml string `json:"merged_yaml"`
Includes []Include `json:"includes"`
}
ProjectLintResult represents the linting results by project.
GitLab API docs: https://docs.gitlab.com/api/lint/
type ProjectMarkdownUpload ¶
type ProjectMarkdownUpload = MarkdownUpload
Type aliases for backward compatibility
type ProjectMarkdownUploadedFile ¶
type ProjectMarkdownUploadedFile = MarkdownUploadedFile
Type aliases for backward compatibility
type ProjectMarkdownUploadsService ¶
type ProjectMarkdownUploadsService struct {
// contains filtered or unexported fields
}
ProjectMarkdownUploadsService handles communication with the project markdown uploads related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/project_markdown_uploads/
func (*ProjectMarkdownUploadsService) DeleteProjectMarkdownUploadByID ¶
func (s *ProjectMarkdownUploadsService) DeleteProjectMarkdownUploadByID(pid any, uploadID int64, options ...RequestOptionFunc) (*Response, error)
func (*ProjectMarkdownUploadsService) DeleteProjectMarkdownUploadBySecretAndFilename ¶
func (s *ProjectMarkdownUploadsService) DeleteProjectMarkdownUploadBySecretAndFilename(pid any, secret string, filename string, options ...RequestOptionFunc) (*Response, error)
func (*ProjectMarkdownUploadsService) DownloadProjectMarkdownUploadByID ¶
func (s *ProjectMarkdownUploadsService) DownloadProjectMarkdownUploadByID(pid any, uploadID int64, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
DownloadProjectMarkdownUploadByID downloads a specific upload by ID.
The returned io.ReadCloser must be closed by the caller to avoid leaking the underlying response body.
GitLab API Docs: https://docs.gitlab.com/api/project_markdown_uploads/#download-an-uploaded-file-by-id
func (*ProjectMarkdownUploadsService) DownloadProjectMarkdownUploadBySecretAndFilename ¶
func (s *ProjectMarkdownUploadsService) DownloadProjectMarkdownUploadBySecretAndFilename(pid any, secret string, filename string, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
DownloadProjectMarkdownUploadBySecretAndFilename downloads a specific upload by secret and filename.
The returned io.ReadCloser must be closed by the caller to avoid leaking the underlying response body.
GitLab API Docs: https://docs.gitlab.com/api/project_markdown_uploads/#download-an-uploaded-file-by-secret-and-filename
func (*ProjectMarkdownUploadsService) ListProjectMarkdownUploads ¶
func (s *ProjectMarkdownUploadsService) ListProjectMarkdownUploads(pid any, options ...RequestOptionFunc) ([]*ProjectMarkdownUpload, *Response, error)
func (*ProjectMarkdownUploadsService) UploadProjectMarkdown ¶
func (s *ProjectMarkdownUploadsService) UploadProjectMarkdown(pid any, content io.Reader, filename string, options ...RequestOptionFunc) (*ProjectMarkdownUploadedFile, *Response, error)
type ProjectMarkdownUploadsServiceInterface ¶
type ProjectMarkdownUploadsServiceInterface interface {
// UploadProjectMarkdown uploads a markdown file to a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_markdown_uploads/#upload-a-file
UploadProjectMarkdown(pid any, content io.Reader, filename string, options ...RequestOptionFunc) (*ProjectMarkdownUploadedFile, *Response, error)
// ListProjectMarkdownUploads gets all markdown uploads for a project.
//
// GitLab API Docs:
// https://docs.gitlab.com/api/project_markdown_uploads/#list-uploads
ListProjectMarkdownUploads(pid any, options ...RequestOptionFunc) ([]*ProjectMarkdownUpload, *Response, error)
// DownloadProjectMarkdownUploadByID downloads a specific upload by ID.
//
// The returned io.ReadCloser must be closed by the caller to avoid
// leaking the underlying response body.
//
// GitLab API Docs:
// https://docs.gitlab.com/api/project_markdown_uploads/#download-an-uploaded-file-by-id
DownloadProjectMarkdownUploadByID(pid any, uploadID int64, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
// DownloadProjectMarkdownUploadBySecretAndFilename downloads a specific upload
// by secret and filename.
//
// The returned io.ReadCloser must be closed by the caller to avoid
// leaking the underlying response body.
//
// GitLab API Docs:
// https://docs.gitlab.com/api/project_markdown_uploads/#download-an-uploaded-file-by-secret-and-filename
DownloadProjectMarkdownUploadBySecretAndFilename(pid any, secret string, filename string, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
// DeleteProjectMarkdownUploadByID deletes an upload by ID.
//
// GitLab API Docs:
// https://docs.gitlab.com/api/project_markdown_uploads/#delete-an-uploaded-file-by-id
DeleteProjectMarkdownUploadByID(pid any, uploadID int64, options ...RequestOptionFunc) (*Response, error)
// DeleteProjectMarkdownUploadBySecretAndFilename deletes an upload
// by secret and filename.
//
// GitLab API Docs:
// https://docs.gitlab.com/api/project_markdown_uploads/#delete-an-uploaded-file-by-secret-and-filename
DeleteProjectMarkdownUploadBySecretAndFilename(pid any, secret string, filename string, options ...RequestOptionFunc) (*Response, error)
}
type ProjectMember ¶
type ProjectMember struct {
ID int64 `json:"id"`
Username string `json:"username"`
Email string `json:"email"`
Name string `json:"name"`
State string `json:"state"`
CreatedAt *time.Time `json:"created_at"`
CreatedBy *MemberCreatedBy `json:"created_by"`
ExpiresAt *ISOTime `json:"expires_at"`
AccessLevel AccessLevelValue `json:"access_level"`
WebURL string `json:"web_url"`
AvatarURL string `json:"avatar_url"`
MemberRole *MemberRole `json:"member_role"`
IsUsingSeat bool `json:"is_using_seat,omitempty"`
}
ProjectMember represents a project member.
GitLab API docs: https://docs.gitlab.com/api/members/
type ProjectMembersService ¶
type ProjectMembersService struct {
// contains filtered or unexported fields
}
ProjectMembersService handles communication with the project members related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/members/
func (*ProjectMembersService) AddProjectMember ¶
func (s *ProjectMembersService) AddProjectMember(pid any, 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/api/members/#add-a-member-to-a-group-or-project
func (*ProjectMembersService) DeleteProjectMember ¶
func (s *ProjectMembersService) DeleteProjectMember(pid any, user int64, options ...RequestOptionFunc) (*Response, error)
DeleteProjectMember removes a user from a project team.
GitLab API docs: https://docs.gitlab.com/api/members/#remove-a-member-from-a-group-or-project
func (*ProjectMembersService) EditProjectMember ¶
func (s *ProjectMembersService) EditProjectMember(pid any, user int64, 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/api/members/#edit-a-member-of-a-group-or-project
func (*ProjectMembersService) GetInheritedProjectMember ¶
func (s *ProjectMembersService) GetInheritedProjectMember(pid any, user int64, options ...RequestOptionFunc) (*ProjectMember, *Response, error)
GetInheritedProjectMember gets a project team member, including inherited
GitLab API docs: https://docs.gitlab.com/api/members/#get-a-member-of-a-group-or-project-including-inherited-and-invited-members
func (*ProjectMembersService) GetProjectMember ¶
func (s *ProjectMembersService) GetProjectMember(pid any, user int64, options ...RequestOptionFunc) (*ProjectMember, *Response, error)
GetProjectMember gets a project team member.
GitLab API docs: https://docs.gitlab.com/api/members/#get-a-member-of-a-group-or-project
func (*ProjectMembersService) ListAllProjectMembers ¶
func (s *ProjectMembersService) ListAllProjectMembers(pid any, 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/api/members/#list-all-members-of-a-group-or-project-including-inherited-and-invited-members
func (*ProjectMembersService) ListProjectMembers ¶
func (s *ProjectMembersService) ListProjectMembers(pid any, 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/api/members/#list-all-members-of-a-group-or-project
type ProjectMembersServiceInterface ¶
type ProjectMembersServiceInterface interface {
ListProjectMembers(pid any, opt *ListProjectMembersOptions, options ...RequestOptionFunc) ([]*ProjectMember, *Response, error)
ListAllProjectMembers(pid any, opt *ListProjectMembersOptions, options ...RequestOptionFunc) ([]*ProjectMember, *Response, error)
GetProjectMember(pid any, user int64, options ...RequestOptionFunc) (*ProjectMember, *Response, error)
GetInheritedProjectMember(pid any, user int64, options ...RequestOptionFunc) (*ProjectMember, *Response, error)
AddProjectMember(pid any, opt *AddProjectMemberOptions, options ...RequestOptionFunc) (*ProjectMember, *Response, error)
EditProjectMember(pid any, user int64, opt *EditProjectMemberOptions, options ...RequestOptionFunc) (*ProjectMember, *Response, error)
DeleteProjectMember(pid any, user int64, options ...RequestOptionFunc) (*Response, error)
}
type ProjectMirror ¶
type ProjectMirror struct {
Enabled bool `json:"enabled"`
ID int64 `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"`
AuthMethod string `json:"auth_method"`
HostKeys *[]HostKey `json:"host_keys,omitempty"`
}
ProjectMirror represents a project mirror configuration.
GitLAb API docs: https://docs.gitlab.com/api/remote_mirrors/
type ProjectMirrorPublicKey ¶
type ProjectMirrorPublicKey struct {
PublicKey string `json:"public_key"`
}
type ProjectMirrorService ¶
type ProjectMirrorService struct {
// contains filtered or unexported fields
}
ProjectMirrorService handles communication with the project mirror related methods of the GitLab API.
GitLAb API docs: https://docs.gitlab.com/api/remote_mirrors/
func (*ProjectMirrorService) AddProjectMirror ¶
func (s *ProjectMirrorService) AddProjectMirror(pid any, opt *AddProjectMirrorOptions, options ...RequestOptionFunc) (*ProjectMirror, *Response, error)
func (*ProjectMirrorService) DeleteProjectMirror ¶
func (s *ProjectMirrorService) DeleteProjectMirror(pid any, mirror int64, options ...RequestOptionFunc) (*Response, error)
func (*ProjectMirrorService) EditProjectMirror ¶
func (s *ProjectMirrorService) EditProjectMirror(pid any, mirror int64, opt *EditProjectMirrorOptions, options ...RequestOptionFunc) (*ProjectMirror, *Response, error)
func (*ProjectMirrorService) ForcePushMirrorUpdate ¶
func (s *ProjectMirrorService) ForcePushMirrorUpdate(pid any, mirror int64, options ...RequestOptionFunc) (*Response, error)
func (*ProjectMirrorService) GetProjectMirror ¶
func (s *ProjectMirrorService) GetProjectMirror(pid any, mirror int64, options ...RequestOptionFunc) (*ProjectMirror, *Response, error)
func (*ProjectMirrorService) GetProjectMirrorPublicKey ¶
func (s *ProjectMirrorService) GetProjectMirrorPublicKey(pid any, mirror int64, options ...RequestOptionFunc) (*ProjectMirrorPublicKey, *Response, error)
func (*ProjectMirrorService) ListProjectMirror ¶
func (s *ProjectMirrorService) ListProjectMirror(pid any, opt *ListProjectMirrorOptions, options ...RequestOptionFunc) ([]*ProjectMirror, *Response, error)
type ProjectMirrorServiceInterface ¶
type ProjectMirrorServiceInterface interface {
// ListProjectMirror gets a list of mirrors configured on the project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/remote_mirrors/#list-a-projects-remote-mirrors
ListProjectMirror(pid any, opt *ListProjectMirrorOptions, options ...RequestOptionFunc) ([]*ProjectMirror, *Response, error)
// GetProjectMirror gets a single mirror configured on the project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/remote_mirrors/#get-a-single-projects-remote-mirror
GetProjectMirror(pid any, mirror int64, options ...RequestOptionFunc) (*ProjectMirror, *Response, error)
// GetProjectMirrorPublicKey gets the SSH public key for a single mirror configured on the project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/remote_mirrors/#get-a-single-projects-remote-mirror-public-key
GetProjectMirrorPublicKey(pid any, mirror int64, options ...RequestOptionFunc) (*ProjectMirrorPublicKey, *Response, error)
// AddProjectMirror creates a new mirror on the project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/remote_mirrors/#create-a-push-mirror
AddProjectMirror(pid any, opt *AddProjectMirrorOptions, options ...RequestOptionFunc) (*ProjectMirror, *Response, error)
// EditProjectMirror updates a remote mirror's attributes.
//
// GitLab API docs:
// https://docs.gitlab.com/api/remote_mirrors/#update-a-remote-mirrors-attributes
EditProjectMirror(pid any, mirror int64, opt *EditProjectMirrorOptions, options ...RequestOptionFunc) (*ProjectMirror, *Response, error)
// DeleteProjectMirror deletes a project mirror.
//
// GitLab API docs:
// https://docs.gitlab.com/api/remote_mirrors/#delete-a-remote-mirror
DeleteProjectMirror(pid any, mirror int64, options ...RequestOptionFunc) (*Response, error)
// ForcePushMirrorUpdate triggers a manual update for a project mirror.
//
// GitLab API docs:
// https://docs.gitlab.com/api/remote_mirrors/#force-push-mirror-update
ForcePushMirrorUpdate(pid any, mirror int64, options ...RequestOptionFunc) (*Response, error)
}
type ProjectNamespace ¶
type ProjectNamespace struct {
ID int64 `json:"id"`
Name string `json:"name"`
Path string `json:"path"`
Kind string `json:"kind"`
FullPath string `json:"full_path"`
ParentID int64 `json:"parent_id"`
AvatarURL string `json:"avatar_url"`
WebURL string `json:"web_url"`
}
ProjectNamespace represents a project namespace.
type ProjectNamespaceLintOptions ¶
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"`
}
ProjectNamespaceLintOptions represents the available ProjectNamespaceLint() options.
GitLab API docs: https://docs.gitlab.com/api/lint/#validate-sample-cicd-configuration
type ProjectPullMirrorDetails ¶
type ProjectPullMirrorDetails struct {
ID int64 `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"`
Enabled bool `json:"enabled"`
MirrorTriggerBuilds bool `json:"mirror_trigger_builds"`
OnlyMirrorProtectedBranches bool `json:"only_mirror_protected_branches"`
MirrorOverwritesDivergedBranches bool `json:"mirror_overwrites_diverged_branches"`
MirrorBranchRegex string `json:"mirror_branch_regex"`
}
ProjectPullMirrorDetails represent the details of the configuration pull mirror and its update status.
GitLab API docs: https://docs.gitlab.com/api/project_pull_mirroring/
type ProjectPushRules ¶
type ProjectPushRules struct {
ID int64 `json:"id"`
ProjectID int64 `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 int64 `json:"max_file_size"`
CommitCommitterCheck bool `json:"commit_committer_check"`
CommitCommitterNameCheck bool `json:"commit_committer_name_check"`
RejectUnsignedCommits bool `json:"reject_unsigned_commits"`
RejectNonDCOCommits bool `json:"reject_non_dco_commits"`
}
ProjectPushRules represents a project push rule.
GitLab API docs: https://docs.gitlab.com/api/project_push_rules/
type ProjectRepositoryStorage ¶
type ProjectRepositoryStorage struct {
ProjectID int64 `json:"project_id"`
DiskPath string `json:"disk_path"`
CreatedAt *time.Time `json:"created_at"`
RepositoryStorage string `json:"repository_storage"`
}
ProjectRepositoryStorage represents the repository storage information for a project.
GitLab API docs: https://docs.gitlab.com/api/projects/#get-the-path-to-repository-storage
type ProjectRepositoryStorageMove ¶
type ProjectRepositoryStorageMove struct {
ID int64 `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"`
}
ProjectRepositoryStorageMove represents the status of a repository move.
GitLab API docs: https://docs.gitlab.com/api/project_repository_storage_moves/
type ProjectRepositoryStorageMoveService ¶
type ProjectRepositoryStorageMoveService struct {
// contains filtered or unexported fields
}
ProjectRepositoryStorageMoveService handles communication with the repositories related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/project_repository_storage_moves/
func (ProjectRepositoryStorageMoveService) GetStorageMove ¶
func (p ProjectRepositoryStorageMoveService) GetStorageMove(repositoryStorage int64, options ...RequestOptionFunc) (*ProjectRepositoryStorageMove, *Response, error)
func (ProjectRepositoryStorageMoveService) GetStorageMoveForProject ¶
func (p ProjectRepositoryStorageMoveService) GetStorageMoveForProject(project int64, repositoryStorage int64, options ...RequestOptionFunc) (*ProjectRepositoryStorageMove, *Response, error)
func (ProjectRepositoryStorageMoveService) RetrieveAllStorageMoves ¶
func (p ProjectRepositoryStorageMoveService) RetrieveAllStorageMoves(opts RetrieveAllProjectStorageMovesOptions, options ...RequestOptionFunc) ([]*ProjectRepositoryStorageMove, *Response, error)
func (ProjectRepositoryStorageMoveService) RetrieveAllStorageMovesForProject ¶
func (p ProjectRepositoryStorageMoveService) RetrieveAllStorageMovesForProject(project int64, opts RetrieveAllProjectStorageMovesOptions, options ...RequestOptionFunc) ([]*ProjectRepositoryStorageMove, *Response, error)
func (ProjectRepositoryStorageMoveService) ScheduleAllStorageMoves ¶
func (p ProjectRepositoryStorageMoveService) ScheduleAllStorageMoves(opts ScheduleAllProjectStorageMovesOptions, options ...RequestOptionFunc) (*Response, error)
func (ProjectRepositoryStorageMoveService) ScheduleStorageMoveForProject ¶
func (p ProjectRepositoryStorageMoveService) ScheduleStorageMoveForProject(project int64, opts ScheduleStorageMoveForProjectOptions, options ...RequestOptionFunc) (*ProjectRepositoryStorageMove, *Response, error)
type ProjectRepositoryStorageMoveServiceInterface ¶
type ProjectRepositoryStorageMoveServiceInterface interface {
// RetrieveAllStorageMoves retrieves all project repository storage moves
// accessible by the authenticated user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_repository_storage_moves/#retrieve-all-project-repository-storage-moves
RetrieveAllStorageMoves(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/api/project_repository_storage_moves/#retrieve-all-repository-storage-moves-for-a-project
RetrieveAllStorageMovesForProject(project int64, opts RetrieveAllProjectStorageMovesOptions, options ...RequestOptionFunc) ([]*ProjectRepositoryStorageMove, *Response, error)
// GetStorageMove gets a single project repository storage move.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_repository_storage_moves/#get-a-single-project-repository-storage-move
GetStorageMove(repositoryStorage int64, options ...RequestOptionFunc) (*ProjectRepositoryStorageMove, *Response, error)
// GetStorageMoveForProject gets a single repository storage move for a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_repository_storage_moves/#get-a-single-repository-storage-move-for-a-project
GetStorageMoveForProject(project int64, repositoryStorage int64, options ...RequestOptionFunc) (*ProjectRepositoryStorageMove, *Response, error)
// ScheduleStorageMoveForProject schedule a repository to be moved for a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_repository_storage_moves/#schedule-a-repository-storage-move-for-a-project
ScheduleStorageMoveForProject(project int64, opts ScheduleStorageMoveForProjectOptions, options ...RequestOptionFunc) (*ProjectRepositoryStorageMove, *Response, error)
// ScheduleAllStorageMoves schedules all repositories to be moved.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_repository_storage_moves/#schedule-repository-storage-moves-for-all-projects-on-a-storage-shard
ScheduleAllStorageMoves(opts ScheduleAllProjectStorageMovesOptions, options ...RequestOptionFunc) (*Response, error)
}
type ProjectResourceAccessTokenEvent ¶
type ProjectResourceAccessTokenEvent struct {
EventName string `json:"event_name"`
ObjectKind string `json:"object_kind"`
Project ProjectResourceAccessTokenEventProject `json:"project"`
ObjectAttributes ProjectResourceAccessTokenEventObjectAttributes `json:"object_attributes"`
}
ProjectResourceAccessTokenEvent represents a resource access token event for a project.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#project-and-group-access-token-events
type ProjectResourceAccessTokenEventProject ¶
type ProjectResourceAccessTokenEventProject struct {
ID int64 `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 int64 `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"`
}
type ProjectSecuritySettings ¶
type ProjectSecuritySettings struct {
ProjectID int64 `json:"project_id"`
CreatedAt *time.Time `json:"created_at"`
UpdatedAt *time.Time `json:"updated_at"`
AutoFixContainerScanning bool `json:"auto_fix_container_scanning"`
AutoFixDAST bool `json:"auto_fix_dast"`
AutoFixDependencyScanning bool `json:"auto_fix_dependency_scanning"`
AutoFixSAST bool `json:"auto_fix_sast"`
ContinuousVulnerabilityScansEnabled bool `json:"continuous_vulnerability_scans_enabled"`
ContainerScanningForRegistryEnabled bool `json:"container_scanning_for_registry_enabled"`
SecretPushProtectionEnabled bool `json:"secret_push_protection_enabled"`
}
ProjectSecuritySettings represents the project security settings data.
GitLab API docs: https://docs.gitlab.com/api/project_security_settings/
func (ProjectSecuritySettings) String ¶
func (s ProjectSecuritySettings) String() string
String gets a string representation of the ProjectSecuritySettings data.
GitLab API docs: https://docs.gitlab.com/api/project_security_settings/
type ProjectSecuritySettingsService ¶
type ProjectSecuritySettingsService struct {
// contains filtered or unexported fields
}
ProjectSecuritySettingsService handles communication with the Project Security Settings related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/project_security_settings/
func (*ProjectSecuritySettingsService) ListProjectSecuritySettings ¶
func (s *ProjectSecuritySettingsService) ListProjectSecuritySettings(pid any, options ...RequestOptionFunc) (*ProjectSecuritySettings, *Response, error)
func (*ProjectSecuritySettingsService) UpdateSecretPushProtectionEnabledSetting ¶
func (s *ProjectSecuritySettingsService) UpdateSecretPushProtectionEnabledSetting(pid any, opt UpdateProjectSecuritySettingsOptions, options ...RequestOptionFunc) (*ProjectSecuritySettings, *Response, error)
type ProjectSecuritySettingsServiceInterface ¶
type ProjectSecuritySettingsServiceInterface interface {
// ListProjectSecuritySettings lists all of a project's security settings.
//
// GitLab API Docs:
// https://docs.gitlab.com/api/project_security_settings/#list-project-security-settings
ListProjectSecuritySettings(pid any, options ...RequestOptionFunc) (*ProjectSecuritySettings, *Response, error)
// UpdateSecretPushProtectionEnabledSetting updates the secret_push_protection_enabled
// setting for a project to the provided value.
//
// GitLab API Docs:
// https://docs.gitlab.com/api/project_security_settings/#update-secret_push_protection_enabled-setting
UpdateSecretPushProtectionEnabledSetting(pid any, opt UpdateProjectSecuritySettingsOptions, options ...RequestOptionFunc) (*ProjectSecuritySettings, *Response, error)
}
type ProjectSharedWithGroup ¶
type ProjectSharedWithGroup struct {
}
ProjectSharedWithGroup represents a GitLab project shared group.
GitLab API docs: https://docs.gitlab.com/api/projects/
type ProjectSnippetsService ¶
type ProjectSnippetsService struct {
// contains filtered or unexported fields
}
ProjectSnippetsService handles communication with the project snippets related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/project_snippets/
func (*ProjectSnippetsService) CreateSnippet ¶
func (s *ProjectSnippetsService) CreateSnippet(pid any, 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/api/project_snippets/#create-new-snippet
func (*ProjectSnippetsService) DeleteSnippet ¶
func (s *ProjectSnippetsService) DeleteSnippet(pid any, snippet int64, 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/api/project_snippets/#delete-snippet
func (*ProjectSnippetsService) GetSnippet ¶
func (s *ProjectSnippetsService) GetSnippet(pid any, snippet int64, options ...RequestOptionFunc) (*Snippet, *Response, error)
GetSnippet gets a single project snippet
GitLab API docs: https://docs.gitlab.com/api/project_snippets/#single-snippet
func (*ProjectSnippetsService) ListSnippets ¶
func (s *ProjectSnippetsService) ListSnippets(pid any, opt *ListProjectSnippetsOptions, options ...RequestOptionFunc) ([]*Snippet, *Response, error)
ListSnippets gets a list of project snippets.
GitLab API docs: https://docs.gitlab.com/api/project_snippets/#list-snippets
func (*ProjectSnippetsService) SnippetContent ¶
func (s *ProjectSnippetsService) SnippetContent(pid any, snippet int64, options ...RequestOptionFunc) ([]byte, *Response, error)
SnippetContent returns the raw project snippet as plain text.
GitLab API docs: https://docs.gitlab.com/api/project_snippets/#snippet-content
func (*ProjectSnippetsService) UpdateSnippet ¶
func (s *ProjectSnippetsService) UpdateSnippet(pid any, snippet int64, 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/api/project_snippets/#update-snippet
type ProjectSnippetsServiceInterface ¶
type ProjectSnippetsServiceInterface interface {
ListSnippets(pid any, opt *ListProjectSnippetsOptions, options ...RequestOptionFunc) ([]*Snippet, *Response, error)
GetSnippet(pid any, snippet int64, options ...RequestOptionFunc) (*Snippet, *Response, error)
CreateSnippet(pid any, opt *CreateProjectSnippetOptions, options ...RequestOptionFunc) (*Snippet, *Response, error)
UpdateSnippet(pid any, snippet int64, opt *UpdateProjectSnippetOptions, options ...RequestOptionFunc) (*Snippet, *Response, error)
DeleteSnippet(pid any, snippet int64, options ...RequestOptionFunc) (*Response, error)
SnippetContent(pid any, snippet int64, options ...RequestOptionFunc) ([]byte, *Response, error)
}
type ProjectStarrer ¶
type ProjectStarrer struct {
StarredSince time.Time `json:"starred_since"`
User ProjectUser `json:"user"`
}
ProjectStarrer represents a user who starred a project.
GitLab API docs: https://docs.gitlab.com/api/project_starring/#list-users-who-starred-a-project
type ProjectStatistics ¶
type ProjectStatistics struct {
Fetches FetchStats `json:"fetches"`
}
ProjectStatistics represents the Project Statistics.
GitLab API docs: https://docs.gitlab.com/api/project_statistics
type ProjectStatisticsService ¶
type ProjectStatisticsService struct {
// contains filtered or unexported fields
}
ProjectStatisticsService handles communication with the project statistics related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/project_statistics
func (*ProjectStatisticsService) Last30DaysStatistics ¶
func (s *ProjectStatisticsService) Last30DaysStatistics(pid any, options ...RequestOptionFunc) (*ProjectStatistics, *Response, error)
type ProjectStatisticsServiceInterface ¶
type ProjectStatisticsServiceInterface interface {
// Last30DaysStatistics gets the project statistics for the last 30 days.
//
// GitLab API docs: https://docs.gitlab.com/api/project_statistics/#get-the-statistics-of-the-last-30-days
Last30DaysStatistics(pid any, options ...RequestOptionFunc) (*ProjectStatistics, *Response, error)
}
type ProjectStatusCheck ¶
type ProjectSystemEvent ¶
type ProjectSystemEvent struct {
BaseSystemEvent
Name string `json:"name"`
Path string `json:"path"`
PathWithNamespace string `json:"path_with_namespace"`
ProjectID int64 `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"`
}
ProjectSystemEvent represents a project system event.
GitLab API docs: https://docs.gitlab.com/administration/system_hooks/
type ProjectTemplate ¶
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"`
}
ProjectTemplate represents a GitLab ProjectTemplate.
GitLab API docs: https://docs.gitlab.com/api/project_templates/
func (ProjectTemplate) String ¶
func (s ProjectTemplate) String() string
type ProjectTemplatesService ¶
type ProjectTemplatesService struct {
// contains filtered or unexported fields
}
ProjectTemplatesService handles communication with the project templates related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/project_templates/
func (*ProjectTemplatesService) GetProjectTemplate ¶
func (s *ProjectTemplatesService) GetProjectTemplate(pid any, templateType string, templateName string, options ...RequestOptionFunc) (*ProjectTemplate, *Response, error)
func (*ProjectTemplatesService) ListTemplates ¶
func (s *ProjectTemplatesService) ListTemplates(pid any, templateType string, opt *ListProjectTemplatesOptions, options ...RequestOptionFunc) ([]*ProjectTemplate, *Response, error)
type ProjectTemplatesServiceInterface ¶
type ProjectTemplatesServiceInterface interface {
// ListTemplates gets a list of project templates.
//
// GitLab API docs: https://docs.gitlab.com/api/project_templates/#get-all-templates-of-a-particular-type
ListTemplates(pid any, templateType string, opt *ListProjectTemplatesOptions, options ...RequestOptionFunc) ([]*ProjectTemplate, *Response, error)
// GetProjectTemplate gets a single project template.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_templates/#get-one-template-of-a-particular-type
GetProjectTemplate(pid any, templateType string, templateName string, options ...RequestOptionFunc) (*ProjectTemplate, *Response, error)
}
type ProjectUser ¶
type ProjectUser struct {
ID int64 `json:"id"`
Name string `json:"name"`
Username string `json:"username"`
State string `json:"state"`
AvatarURL string `json:"avatar_url"`
WebURL string `json:"web_url"`
}
ProjectUser represents a GitLab project user.
type ProjectVariable ¶
type ProjectVariable struct {
Key string `json:"key"`
Value string `json:"value"`
VariableType VariableTypeValue `json:"variable_type"`
Protected bool `json:"protected"`
Masked bool `json:"masked"`
Hidden bool `json:"hidden"`
Raw bool `json:"raw"`
EnvironmentScope string `json:"environment_scope"`
Description string `json:"description"`
}
ProjectVariable represents a GitLab Project Variable.
GitLab API docs: https://docs.gitlab.com/api/project_level_variables/
func (ProjectVariable) String ¶
func (v ProjectVariable) String() string
type ProjectVariablesService ¶
type ProjectVariablesService struct {
// contains filtered or unexported fields
}
ProjectVariablesService handles communication with the project variables related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/project_level_variables/
func (*ProjectVariablesService) CreateVariable ¶
func (s *ProjectVariablesService) CreateVariable(pid any, opt *CreateProjectVariableOptions, options ...RequestOptionFunc) (*ProjectVariable, *Response, error)
func (*ProjectVariablesService) GetVariable ¶
func (s *ProjectVariablesService) GetVariable(pid any, key string, opt *GetProjectVariableOptions, options ...RequestOptionFunc) (*ProjectVariable, *Response, error)
func (*ProjectVariablesService) ListVariables ¶
func (s *ProjectVariablesService) ListVariables(pid any, opt *ListProjectVariablesOptions, options ...RequestOptionFunc) ([]*ProjectVariable, *Response, error)
func (*ProjectVariablesService) RemoveVariable ¶
func (s *ProjectVariablesService) RemoveVariable(pid any, key string, opt *RemoveProjectVariableOptions, options ...RequestOptionFunc) (*Response, error)
func (*ProjectVariablesService) UpdateVariable ¶
func (s *ProjectVariablesService) UpdateVariable(pid any, key string, opt *UpdateProjectVariableOptions, options ...RequestOptionFunc) (*ProjectVariable, *Response, error)
type ProjectVariablesServiceInterface ¶
type ProjectVariablesServiceInterface interface {
// ListVariables gets a list of all variables in a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_level_variables/#list-project-variables
ListVariables(pid any, opt *ListProjectVariablesOptions, options ...RequestOptionFunc) ([]*ProjectVariable, *Response, error)
// GetVariable gets a variable.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_level_variables/#get-a-single-variable
GetVariable(pid any, key string, opt *GetProjectVariableOptions, options ...RequestOptionFunc) (*ProjectVariable, *Response, error)
// CreateVariable creates a new project variable.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_level_variables/#create-a-variable
CreateVariable(pid any, opt *CreateProjectVariableOptions, options ...RequestOptionFunc) (*ProjectVariable, *Response, error)
// UpdateVariable updates a project's variable.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_level_variables/#update-a-variable
UpdateVariable(pid any, key string, opt *UpdateProjectVariableOptions, options ...RequestOptionFunc) (*ProjectVariable, *Response, error)
// RemoveVariable removes a project's variable.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_level_variables/#delete-a-variable
RemoveVariable(pid any, key string, opt *RemoveProjectVariableOptions, options ...RequestOptionFunc) (*Response, error)
}
type ProjectVulnerabilitiesService ¶
type ProjectVulnerabilitiesService struct {
// contains filtered or unexported fields
}
ProjectVulnerabilitiesService handles communication with the projects vulnerabilities related methods of the GitLab API. Deprecated: use GraphQL Query.vulnerabilities instead
GitLab API docs: https://docs.gitlab.com/api/project_vulnerabilities/
func (*ProjectVulnerabilitiesService) CreateVulnerability ¶
func (s *ProjectVulnerabilitiesService) CreateVulnerability(pid any, opt *CreateVulnerabilityOptions, options ...RequestOptionFunc) (*ProjectVulnerability, *Response, error)
CreateVulnerability creates a new vulnerability on the selected project. Deprecated: use GraphQL Query.vulnerabilities instead
GitLab API docs: https://docs.gitlab.com/api/project_vulnerabilities/#new-vulnerability
func (*ProjectVulnerabilitiesService) ListProjectVulnerabilities ¶
func (s *ProjectVulnerabilitiesService) ListProjectVulnerabilities(pid any, opt *ListProjectVulnerabilitiesOptions, options ...RequestOptionFunc) ([]*ProjectVulnerability, *Response, error)
ListProjectVulnerabilities gets a list of all project vulnerabilities. Deprecated: use GraphQL Query.vulnerabilities instead
GitLab API docs: https://docs.gitlab.com/api/project_vulnerabilities/#list-project-vulnerabilities
type ProjectVulnerabilitiesServiceInterface
deprecated
type ProjectVulnerabilitiesServiceInterface interface {
// Deprecated: use GraphQL Query.vulnerabilities instead
ListProjectVulnerabilities(pid any, opt *ListProjectVulnerabilitiesOptions, options ...RequestOptionFunc) ([]*ProjectVulnerability, *Response, error)
// Deprecated: use GraphQL Query.vulnerabilities instead
CreateVulnerability(pid any, opt *CreateVulnerabilityOptions, options ...RequestOptionFunc) (*ProjectVulnerability, *Response, error)
}
Deprecated: use GraphQL Query.vulnerabilities instead
type ProjectVulnerability ¶
type ProjectVulnerability struct {
AuthorID int64 `json:"author_id"`
Confidence string `json:"confidence"`
CreatedAt *time.Time `json:"created_at"`
Description string `json:"description"`
DismissedAt *time.Time `json:"dismissed_at"`
DismissedByID int64 `json:"dismissed_by_id"`
DueDate *time.Time `json:"due_date"`
Finding *Finding `json:"finding"`
ID int64 `json:"id"`
LastEditedAt *time.Time `json:"last_edited_at"`
LastEditedByID int64 `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 int64 `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 int64 `json:"updated_by_id"`
}
ProjectVulnerability represents a GitLab project vulnerability. Deprecated: use GraphQL Query.vulnerabilities instead
GitLab API docs: https://docs.gitlab.com/api/project_vulnerabilities/
type ProjectWebhookEvent ¶
type ProjectWebhookEvent struct {
EventName string `json:"event_name"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
Name string `json:"name"`
Path string `json:"path"`
PathWithNamespace string `json:"path_with_namespace"`
ProjectID int64 `json:"project_id"`
ProjectNamespaceID int64 `json:"project_namespace_id"`
Owners []ProjectEventOwner `json:"owners"`
ProjectVisibility string `json:"project_visibility"`
OldPathWithNamespace string `json:"old_path_with_namespace,omitempty"`
}
ProjectWebhookEvent represents a project webhook event for group webhooks.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#project-events
type ProjectsService ¶
type ProjectsService struct {
// contains filtered or unexported fields
}
ProjectsService handles communication with the repositories related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/projects/
func (*ProjectsService) AddProjectHook ¶
func (s *ProjectsService) AddProjectHook(pid any, opt *AddProjectHookOptions, options ...RequestOptionFunc) (*ProjectHook, *Response, error)
func (*ProjectsService) AddProjectPushRule ¶
func (s *ProjectsService) AddProjectPushRule(pid any, opt *AddProjectPushRuleOptions, options ...RequestOptionFunc) (*ProjectPushRules, *Response, error)
func (*ProjectsService) ArchiveProject ¶
func (s *ProjectsService) ArchiveProject(pid any, options ...RequestOptionFunc) (*Project, *Response, error)
func (*ProjectsService) ChangeApprovalConfiguration ¶
func (s *ProjectsService) ChangeApprovalConfiguration(pid any, opt *ChangeApprovalConfigurationOptions, options ...RequestOptionFunc) (*ProjectApprovals, *Response, error)
func (*ProjectsService) ConfigureProjectPullMirror ¶
func (s *ProjectsService) ConfigureProjectPullMirror(pid any, opt *ConfigureProjectPullMirrorOptions, options ...RequestOptionFunc) (*ProjectPullMirrorDetails, *Response, error)
func (*ProjectsService) CreateProject ¶
func (s *ProjectsService) CreateProject(opt *CreateProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)
func (*ProjectsService) CreateProjectApprovalRule ¶
func (s *ProjectsService) CreateProjectApprovalRule(pid any, opt *CreateProjectLevelRuleOptions, options ...RequestOptionFunc) (*ProjectApprovalRule, *Response, error)
func (*ProjectsService) CreateProjectForUser ¶
func (s *ProjectsService) CreateProjectForUser(user int64, opt *CreateProjectForUserOptions, options ...RequestOptionFunc) (*Project, *Response, error)
func (*ProjectsService) CreateProjectForkRelation ¶
func (s *ProjectsService) CreateProjectForkRelation(pid any, fork int64, options ...RequestOptionFunc) (*ProjectForkRelation, *Response, error)
func (*ProjectsService) CreateTargetBranchRule ¶ added in v2.8.0
func (s *ProjectsService) CreateTargetBranchRule(pid int64, opt *CreateTargetBranchRuleOptions, options ...RequestOptionFunc) (*TargetBranchRule, *Response, error)
CreateTargetBranchRule creates a new target branch rule for a project.
GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#mutationprojecttargetbranchrulecreate
func (*ProjectsService) DeleteProject ¶
func (s *ProjectsService) DeleteProject(pid any, opt *DeleteProjectOptions, options ...RequestOptionFunc) (*Response, error)
func (*ProjectsService) DeleteProjectApprovalRule ¶
func (s *ProjectsService) DeleteProjectApprovalRule(pid any, approvalRule int64, options ...RequestOptionFunc) (*Response, error)
func (*ProjectsService) DeleteProjectCustomHeader ¶
func (s *ProjectsService) DeleteProjectCustomHeader(pid any, hook int64, key string, options ...RequestOptionFunc) (*Response, error)
func (*ProjectsService) DeleteProjectForkRelation ¶
func (s *ProjectsService) DeleteProjectForkRelation(pid any, options ...RequestOptionFunc) (*Response, error)
func (*ProjectsService) DeleteProjectHook ¶
func (s *ProjectsService) DeleteProjectHook(pid any, hook int64, options ...RequestOptionFunc) (*Response, error)
func (*ProjectsService) DeleteProjectPushRule ¶
func (s *ProjectsService) DeleteProjectPushRule(pid any, options ...RequestOptionFunc) (*Response, error)
func (*ProjectsService) DeleteProjectWebhookURLVariable ¶
func (s *ProjectsService) DeleteProjectWebhookURLVariable(pid any, hook int64, key string, options ...RequestOptionFunc) (*Response, error)
func (*ProjectsService) DeleteSharedProjectFromGroup ¶
func (s *ProjectsService) DeleteSharedProjectFromGroup(pid any, groupID int64, options ...RequestOptionFunc) (*Response, error)
func (*ProjectsService) DeleteTargetBranchRule ¶ added in v2.8.0
func (s *ProjectsService) DeleteTargetBranchRule(id int64, options ...RequestOptionFunc) (*Response, error)
DeleteTargetBranchRule deletes a target branch rule.
GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#mutationprojecttargetbranchruledestroy
func (*ProjectsService) DownloadAvatar ¶
func (s *ProjectsService) DownloadAvatar(pid any, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
func (*ProjectsService) EditProject ¶
func (s *ProjectsService) EditProject(pid any, opt *EditProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)
func (*ProjectsService) EditProjectHook ¶
func (s *ProjectsService) EditProjectHook(pid any, hook int64, opt *EditProjectHookOptions, options ...RequestOptionFunc) (*ProjectHook, *Response, error)
func (*ProjectsService) EditProjectPushRule ¶
func (s *ProjectsService) EditProjectPushRule(pid any, opt *EditProjectPushRuleOptions, options ...RequestOptionFunc) (*ProjectPushRules, *Response, error)
func (*ProjectsService) ForkProject ¶
func (s *ProjectsService) ForkProject(pid any, opt *ForkProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)
func (*ProjectsService) GetApprovalConfiguration ¶
func (s *ProjectsService) GetApprovalConfiguration(pid any, options ...RequestOptionFunc) (*ProjectApprovals, *Response, error)
func (*ProjectsService) GetProject ¶
func (s *ProjectsService) GetProject(pid any, opt *GetProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)
func (*ProjectsService) GetProjectApprovalRule ¶
func (s *ProjectsService) GetProjectApprovalRule(pid any, ruleID int64, options ...RequestOptionFunc) (*ProjectApprovalRule, *Response, error)
func (*ProjectsService) GetProjectApprovalRules ¶
func (s *ProjectsService) GetProjectApprovalRules(pid any, opt *GetProjectApprovalRulesListsOptions, options ...RequestOptionFunc) ([]*ProjectApprovalRule, *Response, error)
func (*ProjectsService) GetProjectHook ¶
func (s *ProjectsService) GetProjectHook(pid any, hook int64, options ...RequestOptionFunc) (*ProjectHook, *Response, error)
func (*ProjectsService) GetProjectLanguages ¶
func (s *ProjectsService) GetProjectLanguages(pid any, options ...RequestOptionFunc) (*ProjectLanguages, *Response, error)
func (*ProjectsService) GetProjectPullMirrorDetails ¶
func (s *ProjectsService) GetProjectPullMirrorDetails(pid any, options ...RequestOptionFunc) (*ProjectPullMirrorDetails, *Response, error)
func (*ProjectsService) GetProjectPushRules ¶
func (s *ProjectsService) GetProjectPushRules(pid any, options ...RequestOptionFunc) (*ProjectPushRules, *Response, error)
func (*ProjectsService) GetRepositoryStorage ¶
func (s *ProjectsService) GetRepositoryStorage(pid any, options ...RequestOptionFunc) (*ProjectRepositoryStorage, *Response, error)
func (*ProjectsService) ListProjectForks ¶
func (s *ProjectsService) ListProjectForks(pid any, opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
func (*ProjectsService) ListProjectHooks ¶
func (s *ProjectsService) ListProjectHooks(pid any, opt *ListProjectHooksOptions, options ...RequestOptionFunc) ([]*ProjectHook, *Response, error)
func (*ProjectsService) ListProjectStarrers ¶
func (s *ProjectsService) ListProjectStarrers(pid any, opts *ListProjectStarrersOptions, options ...RequestOptionFunc) ([]*ProjectStarrer, *Response, error)
func (*ProjectsService) ListProjectTargetBranchRules ¶ added in v2.8.0
func (s *ProjectsService) ListProjectTargetBranchRules(projectFullPath string, options ...RequestOptionFunc) ([]TargetBranchRule, *Response, error)
ListProjectTargetBranchRules returns the target branch rules for a project. projectFullPath must be the full namespace/project path string, as the GitLab GraphQL project(fullPath:) field does not accept numeric IDs.
GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#projecttargetbranchruleconnection
func (*ProjectsService) ListProjects ¶
func (s *ProjectsService) ListProjects(opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
func (*ProjectsService) ListProjectsGroups ¶
func (s *ProjectsService) ListProjectsGroups(pid any, opt *ListProjectGroupOptions, options ...RequestOptionFunc) ([]*ProjectGroup, *Response, error)
func (*ProjectsService) ListProjectsInvitedGroups ¶
func (s *ProjectsService) ListProjectsInvitedGroups(pid any, opt *ListProjectInvitedGroupOptions, options ...RequestOptionFunc) ([]*ProjectGroup, *Response, error)
func (*ProjectsService) ListProjectsUsers ¶
func (s *ProjectsService) ListProjectsUsers(pid any, opt *ListProjectUserOptions, options ...RequestOptionFunc) ([]*ProjectUser, *Response, error)
func (*ProjectsService) ListUserContributedProjects ¶
func (s *ProjectsService) ListUserContributedProjects(uid any, opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
ListUserContributedProjects gets a list of visible projects a given user has contributed to.
uid can be either a user ID (int) or a username (string). If a username is provided with a leading "@" (e.g., "@johndoe"), it will be trimmed.
GitLab API docs: https://docs.gitlab.com/api/projects/#list-projects-a-user-has-contributed-to
func (*ProjectsService) ListUserProjects ¶
func (s *ProjectsService) ListUserProjects(uid any, opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
func (*ProjectsService) ListUserStarredProjects ¶
func (s *ProjectsService) ListUserStarredProjects(uid any, opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
func (*ProjectsService) RestoreProject ¶
func (s *ProjectsService) RestoreProject(pid any, options ...RequestOptionFunc) (*Project, *Response, error)
func (*ProjectsService) SetProjectCustomHeader ¶
func (s *ProjectsService) SetProjectCustomHeader(pid any, hook int64, key string, opt *SetHookCustomHeaderOptions, options ...RequestOptionFunc) (*Response, error)
func (*ProjectsService) SetProjectWebhookURLVariable ¶
func (s *ProjectsService) SetProjectWebhookURLVariable(pid any, hook int64, key string, opt *SetProjectWebhookURLVariableOptions, options ...RequestOptionFunc) (*Response, error)
func (*ProjectsService) ShareProjectWithGroup ¶
func (s *ProjectsService) ShareProjectWithGroup(pid any, opt *ShareWithGroupOptions, options ...RequestOptionFunc) (*Response, error)
func (*ProjectsService) StarProject ¶
func (s *ProjectsService) StarProject(pid any, options ...RequestOptionFunc) (*Project, *Response, error)
func (*ProjectsService) StartHousekeepingProject ¶
func (s *ProjectsService) StartHousekeepingProject(pid any, options ...RequestOptionFunc) (*Response, error)
func (*ProjectsService) StartMirroringProject ¶
func (s *ProjectsService) StartMirroringProject(pid any, options ...RequestOptionFunc) (*Response, error)
func (*ProjectsService) TransferProject ¶
func (s *ProjectsService) TransferProject(pid any, opt *TransferProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)
func (*ProjectsService) TriggerTestProjectHook ¶
func (s *ProjectsService) TriggerTestProjectHook(pid any, hook int64, event ProjectHookEvent, options ...RequestOptionFunc) (*Response, error)
TriggerTestProjectHook Trigger a test hook for a specified project.
In GitLab 17.0 and later, this endpoint has a special rate limit. In GitLab 17.0 the rate was three requests per minute for each project hook. In GitLab 17.1 this was changed to five requests per minute for each project and authenticated user.
To disable this limit on self-managed GitLab and GitLab Dedicated, an administrator can disable the feature flag named web_hook_test_api_endpoint_rate_limit.
GitLab API docs: https://docs.gitlab.com/api/project_webhooks/#trigger-a-test-project-webhook
func (*ProjectsService) UnarchiveProject ¶
func (s *ProjectsService) UnarchiveProject(pid any, options ...RequestOptionFunc) (*Project, *Response, error)
func (*ProjectsService) UnstarProject ¶
func (s *ProjectsService) UnstarProject(pid any, options ...RequestOptionFunc) (*Project, *Response, error)
func (*ProjectsService) UpdateProjectApprovalRule ¶
func (s *ProjectsService) UpdateProjectApprovalRule(pid any, approvalRule int64, opt *UpdateProjectLevelRuleOptions, options ...RequestOptionFunc) (*ProjectApprovalRule, *Response, error)
func (*ProjectsService) UploadAvatar ¶
func (s *ProjectsService) UploadAvatar(pid any, avatar io.Reader, filename string, options ...RequestOptionFunc) (*Project, *Response, error)
type ProjectsServiceInterface ¶
type ProjectsServiceInterface interface {
// ListProjects gets a list of projects accessible by the authenticated user.
//
// GitLab API docs: https://docs.gitlab.com/api/projects/#list-all-projects
ListProjects(opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
// ListUserProjects gets a list of projects for the given user.
//
// uid can be either a user ID (int) or a username (string). If a username
// is provided with a leading "@" (e.g., "@johndoe"), it will be trimmed.
// GitLab API docs:
// https://docs.gitlab.com/api/projects/#list-a-users-projects
ListUserProjects(uid any, opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
// ListUserContributedProjects gets a list of visible projects a given user
// has contributed to.
//
// uid can be either a user ID (int) or a username (string). If a username
// is provided with a leading "@" (e.g., "@johndoe"), it will be trimmed.
// GitLab API docs:
// https://docs.gitlab.com/api/projects/#list-projects-a-user-has-contributed-to
ListUserContributedProjects(uid any, opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
// ListUserStarredProjects gets a list of projects starred by the given user.
//
// uid can be either a user ID (int) or a username (string). If a username
// is provided with a leading "@" (e.g., "@johndoe"), it will be trimmed.
// GitLab API docs:
// https://docs.gitlab.com/api/project_starring/#list-projects-starred-by-a-user
ListUserStarredProjects(uid any, opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
// ListProjectsUsers gets a list of users for the given project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/projects/#list-users
ListProjectsUsers(pid any, opt *ListProjectUserOptions, options ...RequestOptionFunc) ([]*ProjectUser, *Response, error)
// ListProjectsGroups gets a list of groups for the given project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/projects/#list-groups
ListProjectsGroups(pid any, opt *ListProjectGroupOptions, options ...RequestOptionFunc) ([]*ProjectGroup, *Response, error)
// GetProjectLanguages gets a list of languages used by the project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/projects/#list-programming-languages-used
GetProjectLanguages(pid any, options ...RequestOptionFunc) (*ProjectLanguages, *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/api/projects/#get-a-single-project
GetProject(pid any, opt *GetProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)
// CreateProject creates a new project owned by the authenticated user.
//
// GitLab API docs: https://docs.gitlab.com/api/projects/#create-a-project
CreateProject(opt *CreateProjectOptions, 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/api/projects/#create-a-project-for-a-user
CreateProjectForUser(user int64, opt *CreateProjectForUserOptions, options ...RequestOptionFunc) (*Project, *Response, error)
// EditProject updates an existing project.
//
// GitLab API docs: https://docs.gitlab.com/api/projects/#edit-a-project
EditProject(pid any, opt *EditProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)
// ForkProject forks a project into the user namespace of the authenticated
// user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_forks/#fork-a-project
ForkProject(pid any, opt *ForkProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)
// StarProject stars a given project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_starring/#star-a-project
StarProject(pid any, options ...RequestOptionFunc) (*Project, *Response, error)
// ListProjectsInvitedGroups lists invited groups of a project
//
// GitLab API docs:
// https://docs.gitlab.com/api/projects/#list-a-projects-invited-groups
ListProjectsInvitedGroups(pid any, opt *ListProjectInvitedGroupOptions, options ...RequestOptionFunc) ([]*ProjectGroup, *Response, error)
// UnstarProject unstars a given project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_starring/#unstar-a-project
UnstarProject(pid any, 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/api/projects/#archive-a-project
ArchiveProject(pid any, 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/api/projects/#unarchive-a-project
UnarchiveProject(pid any, options ...RequestOptionFunc) (*Project, *Response, error)
// RestoreProject restores a project that is marked for deletion.
//
// GitLab API docs:
// https://docs.gitlab.com/api/projects/#restore-a-project-marked-for-deletion
RestoreProject(pid any, options ...RequestOptionFunc) (*Project, *Response, error)
// DeleteProject removes a project including all associated resources
// (issues, merge requests etc.)
//
// GitLab API docs:
// https://docs.gitlab.com/api/projects/#delete-a-project
DeleteProject(pid any, opt *DeleteProjectOptions, options ...RequestOptionFunc) (*Response, error)
//
// GitLab API docs: https://docs.gitlab.com/api/projects/#share-a-project-with-a-group
ShareProjectWithGroup(pid any, opt *ShareWithGroupOptions, options ...RequestOptionFunc) (*Response, error)
//
// GitLab API docs:
// https://docs.gitlab.com/api/projects/#delete-a-shared-project-link-in-a-group
DeleteSharedProjectFromGroup(pid any, groupID int64, options ...RequestOptionFunc) (*Response, error)
// ListProjectHooks gets a list of project hooks.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_webhooks/#list-webhooks-for-a-project
ListProjectHooks(pid any, opt *ListProjectHooksOptions, options ...RequestOptionFunc) ([]*ProjectHook, *Response, error)
// GetProjectHook gets a specific hook for a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_webhooks/#get-a-project-webhook
GetProjectHook(pid any, hook int64, options ...RequestOptionFunc) (*ProjectHook, *Response, error)
// AddProjectHook adds a hook to a specified project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_webhooks/#add-a-webhook-to-a-project
AddProjectHook(pid any, opt *AddProjectHookOptions, options ...RequestOptionFunc) (*ProjectHook, *Response, error)
// EditProjectHook edits a hook for a specified project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_webhooks/#edit-a-project-webhook
EditProjectHook(pid any, hook int64, opt *EditProjectHookOptions, options ...RequestOptionFunc) (*ProjectHook, *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/api/project_webhooks/#delete-project-webhook
DeleteProjectHook(pid any, hook int64, options ...RequestOptionFunc) (*Response, error)
// TriggerTestProjectHook Trigger a test hook for a specified project.
//
// In GitLab 17.0 and later, this endpoint has a special rate limit.
// In GitLab 17.0 the rate was three requests per minute for each project hook.
// In GitLab 17.1 this was changed to five requests per minute for each project
// and authenticated user.
//
// To disable this limit on self-managed GitLab and GitLab Dedicated,
// an administrator can disable the feature flag named web_hook_test_api_endpoint_rate_limit.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_webhooks/#trigger-a-test-project-webhook
TriggerTestProjectHook(pid any, hook int64, event ProjectHookEvent, options ...RequestOptionFunc) (*Response, error)
// SetProjectCustomHeader creates or updates a project custom webhook header.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_webhooks/#set-a-custom-header
SetProjectCustomHeader(pid any, hook int64, key string, opt *SetHookCustomHeaderOptions, options ...RequestOptionFunc) (*Response, error)
// DeleteProjectCustomHeader deletes a project custom webhook header.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_webhooks/#delete-a-custom-header
DeleteProjectCustomHeader(pid any, hook int64, key string, options ...RequestOptionFunc) (*Response, error)
// SetProjectWebhookURLVariable creates or updates a project webhook URL variable.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_webhooks/#set-a-url-variable
SetProjectWebhookURLVariable(pid any, hook int64, key string, opt *SetProjectWebhookURLVariableOptions, options ...RequestOptionFunc) (*Response, error)
// DeleteProjectWebhookURLVariable deletes a project webhook URL variable.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_webhooks/#delete-a-url-variable
DeleteProjectWebhookURLVariable(pid any, hook int64, key string, options ...RequestOptionFunc) (*Response, error)
// CreateProjectForkRelation creates a forked from/to relation between
// existing projects.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_forks/#create-a-fork-relationship-between-projects
CreateProjectForkRelation(pid any, fork int64, options ...RequestOptionFunc) (*ProjectForkRelation, *Response, error)
// DeleteProjectForkRelation deletes an existing forked from relationship.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_forks/#delete-a-fork-relationship-between-projects
DeleteProjectForkRelation(pid any, options ...RequestOptionFunc) (*Response, error)
// UploadAvatar uploads an avatar.
//
// GitLab API docs:
// https://docs.gitlab.com/api/projects/#upload-a-project-avatar
UploadAvatar(pid any, avatar io.Reader, filename string, options ...RequestOptionFunc) (*Project, *Response, error)
// DownloadAvatar downloads an avatar.
//
// GitLab API docs:
// https://docs.gitlab.com/api/projects/#download-a-project-avatar
DownloadAvatar(pid any, options ...RequestOptionFunc) (*bytes.Reader, *Response, error)
// ListProjectForks gets a list of project forks.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_forks/#list-forks-of-a-project
ListProjectForks(pid any, opt *ListProjectsOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
// GetProjectPushRules gets the push rules of a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_push_rules/#get-project-push-rules
GetProjectPushRules(pid any, options ...RequestOptionFunc) (*ProjectPushRules, *Response, error)
// AddProjectPushRule adds a push rule to a specified project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_push_rules/#add-a-project-push-rule
AddProjectPushRule(pid any, opt *AddProjectPushRuleOptions, options ...RequestOptionFunc) (*ProjectPushRules, *Response, error)
// EditProjectPushRule edits a push rule for a specified project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_push_rules/#edit-project-push-rule
EditProjectPushRule(pid any, opt *EditProjectPushRuleOptions, options ...RequestOptionFunc) (*ProjectPushRules, *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/api/project_push_rules/#delete-project-push-rule
DeleteProjectPushRule(pid any, options ...RequestOptionFunc) (*Response, error)
// GetApprovalConfiguration get the approval configuration for a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/merge_request_approvals/#project-approval-rules
GetApprovalConfiguration(pid any, options ...RequestOptionFunc) (*ProjectApprovals, *Response, error)
// ChangeApprovalConfiguration updates the approval configuration for a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/merge_request_approvals/#change-configuration
ChangeApprovalConfiguration(pid any, opt *ChangeApprovalConfigurationOptions, options ...RequestOptionFunc) (*ProjectApprovals, *Response, error)
// GetProjectApprovalRules looks up the list of project level approver rules.
//
// GitLab API docs:
// https://docs.gitlab.com/api/merge_request_approvals/#get-all-approval-rules-for-project
GetProjectApprovalRules(pid any, opt *GetProjectApprovalRulesListsOptions, options ...RequestOptionFunc) ([]*ProjectApprovalRule, *Response, error)
// GetProjectApprovalRule gets the project level approvers.
//
// GitLab API docs:
// https://docs.gitlab.com/api/merge_request_approvals/#get-single-approval-rule-for-project
GetProjectApprovalRule(pid any, ruleID int64, options ...RequestOptionFunc) (*ProjectApprovalRule, *Response, error)
// CreateProjectApprovalRule creates a new project-level approval rule.
//
// GitLab API docs:
// https://docs.gitlab.com/api/merge_request_approvals/#create-project-approval-rule
CreateProjectApprovalRule(pid any, opt *CreateProjectLevelRuleOptions, options ...RequestOptionFunc) (*ProjectApprovalRule, *Response, error)
// UpdateProjectApprovalRule updates an existing approval rule with new options.
//
// GitLab API docs:
// https://docs.gitlab.com/api/merge_request_approvals/#update-project-approval-rule
UpdateProjectApprovalRule(pid any, approvalRule int64, opt *UpdateProjectLevelRuleOptions, options ...RequestOptionFunc) (*ProjectApprovalRule, *Response, error)
// DeleteProjectApprovalRule deletes a project-level approval rule.
//
// GitLab API docs:
// https://docs.gitlab.com/api/merge_request_approvals/#delete-project-approval-rule
DeleteProjectApprovalRule(pid any, approvalRule int64, options ...RequestOptionFunc) (*Response, error)
// GetProjectPullMirrorDetails returns the pull mirror details.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_pull_mirroring/#get-a-projects-pull-mirror-details
GetProjectPullMirrorDetails(pid any, options ...RequestOptionFunc) (*ProjectPullMirrorDetails, *Response, error)
// ConfigureProjectPullMirror configures pull mirroring settings.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_pull_mirroring/#configure-pull-mirroring-for-a-project
ConfigureProjectPullMirror(pid any, opt *ConfigureProjectPullMirrorOptions, options ...RequestOptionFunc) (*ProjectPullMirrorDetails, *Response, error)
// StartMirroringProject start the pull mirroring process for a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_pull_mirroring/#start-the-pull-mirroring-process-for-a-project
StartMirroringProject(pid any, options ...RequestOptionFunc) (*Response, error)
// TransferProject transfer a project into the specified namespace
//
// GitLab API docs: https://docs.gitlab.com/api/projects/#transfer-a-project-to-a-new-namespace
TransferProject(pid any, opt *TransferProjectOptions, options ...RequestOptionFunc) (*Project, *Response, error)
// StartHousekeepingProject start the Housekeeping task for a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/projects/#start-the-housekeeping-task-for-a-project
StartHousekeepingProject(pid any, options ...RequestOptionFunc) (*Response, error)
// GetRepositoryStorage Get the path to repository storage.
//
// GitLab API docs:
// https://docs.gitlab.com/api/projects/#get-the-path-to-repository-storage
GetRepositoryStorage(pid any, options ...RequestOptionFunc) (*ProjectRepositoryStorage, *Response, error)
// ListProjectStarrers gets users who starred a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_starring/#list-users-who-starred-a-project
ListProjectStarrers(pid any, opts *ListProjectStarrersOptions, options ...RequestOptionFunc) ([]*ProjectStarrer, *Response, error)
// ListProjectTargetBranchRules returns the target branch rules for a
// project. projectFullPath must be the full namespace/project path
// string, as the GitLab GraphQL project(fullPath:) field does not
// accept numeric IDs.
//
// GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#projecttargetbranchruleconnection
ListProjectTargetBranchRules(projectFullPath string, options ...RequestOptionFunc) ([]TargetBranchRule, *Response, error)
// CreateTargetBranchRule creates a new target branch rule for a project.
//
// GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#mutationprojecttargetbranchrulecreate
CreateTargetBranchRule(pid int64, opt *CreateTargetBranchRuleOptions, options ...RequestOptionFunc) (*TargetBranchRule, *Response, error)
// DeleteTargetBranchRule deletes a target branch rule.
//
// GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#mutationprojecttargetbranchruledestroy
DeleteTargetBranchRule(id int64, options ...RequestOptionFunc) (*Response, error)
}
ProjectsServiceInterface handles communication with the repositories related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/projects/
type ProtectGroupEnvironmentOptions ¶
type ProtectGroupEnvironmentOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
DeployAccessLevels *[]*GroupEnvironmentAccessOptions `url:"deploy_access_levels,omitempty" json:"deploy_access_levels,omitempty"`
RequiredApprovalCount *int64 `url:"required_approval_count,omitempty" json:"required_approval_count,omitempty"`
ApprovalRules *[]*GroupEnvironmentApprovalRuleOptions `url:"approval_rules,omitempty" json:"approval_rules,omitempty"`
}
ProtectGroupEnvironmentOptions represents the available ProtectGroupEnvironment() options.
GitLab API docs: https://docs.gitlab.com/api/group_protected_environments/#protect-a-single-environment
type ProtectGroupRepositoryBranchesOptions ¶
type ProtectGroupRepositoryBranchesOptions 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 *[]*GroupBranchPermissionOptions `url:"allowed_to_push,omitempty" json:"allowed_to_push,omitempty"`
AllowedToMerge *[]*GroupBranchPermissionOptions `url:"allowed_to_merge,omitempty" json:"allowed_to_merge,omitempty"`
AllowedToUnprotect *[]*GroupBranchPermissionOptions `url:"allowed_to_unprotect,omitempty" json:"allowed_to_unprotect,omitempty"`
CodeOwnerApprovalRequired *bool `url:"code_owner_approval_required,omitempty" json:"code_owner_approval_required,omitempty"`
}
ProtectGroupRepositoryBranchesOptions represents the available ProtectRepositoryBranches() options.
GitLab API docs: https://docs.gitlab.com/api/group_protected_branches/#protect-repository-branches
type ProtectRepositoryBranchesOptions ¶
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"`
}
ProtectRepositoryBranchesOptions represents the available ProtectRepositoryBranches() options.
GitLab API docs: https://docs.gitlab.com/api/protected_branches/#protect-repository-branches
type ProtectRepositoryEnvironmentsOptions ¶
type ProtectRepositoryEnvironmentsOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
DeployAccessLevels *[]*EnvironmentAccessOptions `url:"deploy_access_levels,omitempty" json:"deploy_access_levels,omitempty"`
RequiredApprovalCount *int64 `url:"required_approval_count,omitempty" json:"required_approval_count,omitempty"`
ApprovalRules *[]*EnvironmentApprovalRuleOptions `url:"approval_rules,omitempty" json:"approval_rules,omitempty"`
}
ProtectRepositoryEnvironmentsOptions represents the available ProtectRepositoryEnvironments() options.
GitLab API docs: https://docs.gitlab.com/api/protected_environments/#protect-a-single-environment
type ProtectRepositoryTagsOptions ¶
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"`
}
ProtectRepositoryTagsOptions represents the available ProtectRepositoryTags() options.
GitLab API docs: https://docs.gitlab.com/api/protected_tags/#protect-repository-tags
type ProtectedBranch ¶
type ProtectedBranch struct {
ID int64 `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"`
}
ProtectedBranch represents a protected branch.
GitLab API docs: https://docs.gitlab.com/api/protected_branches/#list-protected-branches
type ProtectedBranchesService ¶
type ProtectedBranchesService struct {
// contains filtered or unexported fields
}
ProtectedBranchesService handles communication with the protected branch related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/protected_branches/
func (*ProtectedBranchesService) GetProtectedBranch ¶
func (s *ProtectedBranchesService) GetProtectedBranch(pid any, branch string, options ...RequestOptionFunc) (*ProtectedBranch, *Response, error)
GetProtectedBranch gets a single protected branch or wildcard protected branch.
GitLab API docs: https://docs.gitlab.com/api/protected_branches/#get-a-single-protected-branch-or-wildcard-protected-branch
func (*ProtectedBranchesService) ListProtectedBranches ¶
func (s *ProtectedBranchesService) ListProtectedBranches(pid any, opt *ListProtectedBranchesOptions, options ...RequestOptionFunc) ([]*ProtectedBranch, *Response, error)
ListProtectedBranches gets a list of protected branches from a project.
GitLab API docs: https://docs.gitlab.com/api/protected_branches/#list-protected-branches
func (*ProtectedBranchesService) ProtectRepositoryBranches ¶
func (s *ProtectedBranchesService) ProtectRepositoryBranches(pid any, 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/api/protected_branches/#protect-repository-branches
func (*ProtectedBranchesService) UnprotectRepositoryBranches ¶
func (s *ProtectedBranchesService) UnprotectRepositoryBranches(pid any, branch string, options ...RequestOptionFunc) (*Response, error)
UnprotectRepositoryBranches unprotects the given protected branch or wildcard protected branch.
GitLab API docs: https://docs.gitlab.com/api/protected_branches/#unprotect-repository-branches
func (*ProtectedBranchesService) UpdateProtectedBranch ¶
func (s *ProtectedBranchesService) UpdateProtectedBranch(pid any, branch string, opt *UpdateProtectedBranchOptions, options ...RequestOptionFunc) (*ProtectedBranch, *Response, error)
UpdateProtectedBranch updates a protected branch.
GitLab API docs: https://docs.gitlab.com/api/protected_branches/#update-a-protected-branch
type ProtectedBranchesServiceInterface ¶
type ProtectedBranchesServiceInterface interface {
ListProtectedBranches(pid any, opt *ListProtectedBranchesOptions, options ...RequestOptionFunc) ([]*ProtectedBranch, *Response, error)
GetProtectedBranch(pid any, branch string, options ...RequestOptionFunc) (*ProtectedBranch, *Response, error)
ProtectRepositoryBranches(pid any, opt *ProtectRepositoryBranchesOptions, options ...RequestOptionFunc) (*ProtectedBranch, *Response, error)
UnprotectRepositoryBranches(pid any, branch string, options ...RequestOptionFunc) (*Response, error)
UpdateProtectedBranch(pid any, branch string, opt *UpdateProtectedBranchOptions, options ...RequestOptionFunc) (*ProtectedBranch, *Response, error)
}
type ProtectedEnvironment ¶
type ProtectedEnvironment struct {
Name string `json:"name"`
DeployAccessLevels []*EnvironmentAccessDescription `json:"deploy_access_levels"`
RequiredApprovalCount int64 `json:"required_approval_count"`
ApprovalRules []*EnvironmentApprovalRule `json:"approval_rules"`
}
ProtectedEnvironment represents a protected environment.
GitLab API docs: https://docs.gitlab.com/api/protected_environments/
type ProtectedEnvironmentsService ¶
type ProtectedEnvironmentsService struct {
// contains filtered or unexported fields
}
ProtectedEnvironmentsService handles communication with the protected environment methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/protected_environments/
func (*ProtectedEnvironmentsService) GetProtectedEnvironment ¶
func (s *ProtectedEnvironmentsService) GetProtectedEnvironment(pid any, environment string, options ...RequestOptionFunc) (*ProtectedEnvironment, *Response, error)
GetProtectedEnvironment returns a single protected environment or wildcard protected environment.
GitLab API docs: https://docs.gitlab.com/api/protected_environments/#get-a-single-protected-environment
func (*ProtectedEnvironmentsService) ListProtectedEnvironments ¶
func (s *ProtectedEnvironmentsService) ListProtectedEnvironments(pid any, opt *ListProtectedEnvironmentsOptions, options ...RequestOptionFunc) ([]*ProtectedEnvironment, *Response, error)
ListProtectedEnvironments returns a list of protected environments from a project.
GitLab API docs: https://docs.gitlab.com/api/protected_environments/#list-protected-environments
func (*ProtectedEnvironmentsService) ProtectRepositoryEnvironments ¶
func (s *ProtectedEnvironmentsService) ProtectRepositoryEnvironments(pid any, 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/api/protected_environments/#protect-a-single-environment
func (*ProtectedEnvironmentsService) UnprotectEnvironment ¶
func (s *ProtectedEnvironmentsService) UnprotectEnvironment(pid any, environment string, options ...RequestOptionFunc) (*Response, error)
UnprotectEnvironment unprotects the given protected environment or wildcard protected environment.
GitLab API docs: https://docs.gitlab.com/api/protected_environments/#unprotect-a-single-environment
func (*ProtectedEnvironmentsService) UpdateProtectedEnvironments ¶
func (s *ProtectedEnvironmentsService) UpdateProtectedEnvironments(pid any, 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/api/protected_environments/#update-a-protected-environment
type ProtectedEnvironmentsServiceInterface ¶
type ProtectedEnvironmentsServiceInterface interface {
ListProtectedEnvironments(pid any, opt *ListProtectedEnvironmentsOptions, options ...RequestOptionFunc) ([]*ProtectedEnvironment, *Response, error)
GetProtectedEnvironment(pid any, environment string, options ...RequestOptionFunc) (*ProtectedEnvironment, *Response, error)
ProtectRepositoryEnvironments(pid any, opt *ProtectRepositoryEnvironmentsOptions, options ...RequestOptionFunc) (*ProtectedEnvironment, *Response, error)
UpdateProtectedEnvironments(pid any, environment string, opt *UpdateProtectedEnvironmentsOptions, options ...RequestOptionFunc) (*ProtectedEnvironment, *Response, error)
UnprotectEnvironment(pid any, environment string, options ...RequestOptionFunc) (*Response, error)
}
type ProtectedPackagesService ¶
type ProtectedPackagesService struct {
// contains filtered or unexported fields
}
ProtectedPackagesService handles communication with the protected packages related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/project_packages_protection_rules/
func (*ProtectedPackagesService) CreatePackageProtectionRules ¶
func (s *ProtectedPackagesService) CreatePackageProtectionRules(pid any, opt *CreatePackageProtectionRulesOptions, options ...RequestOptionFunc) (*PackageProtectionRule, *Response, error)
func (*ProtectedPackagesService) DeletePackageProtectionRules ¶
func (s *ProtectedPackagesService) DeletePackageProtectionRules(pid any, packageProtectionRule int64, options ...RequestOptionFunc) (*Response, error)
func (*ProtectedPackagesService) ListPackageProtectionRules ¶
func (s *ProtectedPackagesService) ListPackageProtectionRules(pid any, opts *ListPackageProtectionRulesOptions, options ...RequestOptionFunc) ([]*PackageProtectionRule, *Response, error)
func (*ProtectedPackagesService) UpdatePackageProtectionRules ¶
func (s *ProtectedPackagesService) UpdatePackageProtectionRules(pid any, packageProtectionRule int64, opt *UpdatePackageProtectionRulesOptions, options ...RequestOptionFunc) (*PackageProtectionRule, *Response, error)
type ProtectedPackagesServiceInterface ¶
type ProtectedPackagesServiceInterface interface {
// ListPackageProtectionRules gets a list of project package protection rules.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_packages_protection_rules/#list-package-protection-rules
ListPackageProtectionRules(pid any, opt *ListPackageProtectionRulesOptions, options ...RequestOptionFunc) ([]*PackageProtectionRule, *Response, error)
// CreatePackageProtectionRules creates a new package protection rules.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_packages_protection_rules/#create-a-package-protection-rule
CreatePackageProtectionRules(pid any, opt *CreatePackageProtectionRulesOptions, options ...RequestOptionFunc) (*PackageProtectionRule, *Response, error)
// UpdatePackageProtectionRules updates an existing package protection rule.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_packages_protection_rules/#update-a-package-protection-rule
UpdatePackageProtectionRules(pid any, packageProtectionRule int64, opt *UpdatePackageProtectionRulesOptions, options ...RequestOptionFunc) (*PackageProtectionRule, *Response, error)
// DeletePackageProtectionRules deletes an existing package protection rules.
//
// GitLab API docs:
// https://docs.gitlab.com/api/project_packages_protection_rules/#delete-a-package-protection-rule
DeletePackageProtectionRules(pid any, packageProtectionRule int64, options ...RequestOptionFunc) (*Response, error)
}
type ProtectedTag ¶
type ProtectedTag struct {
Name string `json:"name"`
CreateAccessLevels []*TagAccessDescription `json:"create_access_levels"`
}
ProtectedTag represents a protected tag.
GitLab API docs: https://docs.gitlab.com/api/protected_tags/
type ProtectedTagsService ¶
type ProtectedTagsService struct {
// contains filtered or unexported fields
}
ProtectedTagsService handles communication with the protected tag methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/protected_tags/
func (*ProtectedTagsService) GetProtectedTag ¶
func (s *ProtectedTagsService) GetProtectedTag(pid any, tag string, options ...RequestOptionFunc) (*ProtectedTag, *Response, error)
GetProtectedTag returns a single protected tag or wildcard protected tag.
GitLab API docs: https://docs.gitlab.com/api/protected_tags/#get-a-single-protected-tag-or-wildcard-protected-tag
func (*ProtectedTagsService) ListProtectedTags ¶
func (s *ProtectedTagsService) ListProtectedTags(pid any, opt *ListProtectedTagsOptions, options ...RequestOptionFunc) ([]*ProtectedTag, *Response, error)
ListProtectedTags returns a list of protected tags from a project.
GitLab API docs: https://docs.gitlab.com/api/protected_tags/#list-protected-tags
func (*ProtectedTagsService) ProtectRepositoryTags ¶
func (s *ProtectedTagsService) ProtectRepositoryTags(pid any, 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/api/protected_tags/#protect-repository-tags
func (*ProtectedTagsService) UnprotectRepositoryTags ¶
func (s *ProtectedTagsService) UnprotectRepositoryTags(pid any, tag string, options ...RequestOptionFunc) (*Response, error)
UnprotectRepositoryTags unprotects the given protected tag or wildcard protected tag.
GitLab API docs: https://docs.gitlab.com/api/protected_tags/#unprotect-repository-tags
type ProtectedTagsServiceInterface ¶
type ProtectedTagsServiceInterface interface {
ListProtectedTags(pid any, opt *ListProtectedTagsOptions, options ...RequestOptionFunc) ([]*ProtectedTag, *Response, error)
GetProtectedTag(pid any, tag string, options ...RequestOptionFunc) (*ProtectedTag, *Response, error)
ProtectRepositoryTags(pid any, opt *ProtectRepositoryTagsOptions, options ...RequestOptionFunc) (*ProtectedTag, *Response, error)
UnprotectRepositoryTags(pid any, tag string, options ...RequestOptionFunc) (*Response, error)
}
type ProtectionRuleAccessLevel ¶
type ProtectionRuleAccessLevel string
ProtectionRuleAccessLevel represents the access level for a Container Registry Protection Rule.
GitLab API docs: https://docs.gitlab.com/api/container_repository_protection_rules/
const ( ProtectionRuleAccessLevelMaintainer ProtectionRuleAccessLevel = "maintainer" ProtectionRuleAccessLevelOwner ProtectionRuleAccessLevel = "owner" ProtectionRuleAccessLevelAdmin ProtectionRuleAccessLevel = "admin" )
These constants represent all valid protection rule access levels.
GitLab API docs: https://docs.gitlab.com/api/container_repository_protection_rules/
type PublishPackageFileOptions ¶
type PublishPackageFileOptions struct {
Status *GenericPackageStatusValue `url:"status,omitempty" json:"status,omitempty"`
Select *GenericPackageSelectValue `url:"select,omitempty" json:"select,omitempty"`
}
PublishPackageFileOptions represents the available PublishPackageFile() options.
GitLab docs: https://docs.gitlab.com/user/packages/generic_packages/#publish-a-single-file
type PushEvent ¶
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"`
RefProtected bool `json:"ref_protected"`
CheckoutSHA string `json:"checkout_sha"`
UserID int64 `json:"user_id"`
UserName string `json:"user_name"`
UserUsername string `json:"user_username"`
UserEmail string `json:"user_email"`
UserAvatar string `json:"user_avatar"`
ProjectID int64 `json:"project_id"`
Project PushEventProject `json:"project"`
Repository *Repository `json:"repository"`
Commits []*PushEventCommit `json:"commits"`
TotalCommitsCount int64 `json:"total_commits_count"`
}
PushEvent represents a push event.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#push-events
type PushEventCommit ¶
type PushEventCommit struct {
ID string `json:"id"`
Message string `json:"message"`
Title string `json:"title"`
Timestamp *time.Time `json:"timestamp"`
URL string `json:"url"`
Author EventCommitAuthor `json:"author"`
Added []string `json:"added"`
Modified []string `json:"modified"`
Removed []string `json:"removed"`
}
type PushEventProject ¶
type PushEventProject struct {
ID int64 `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"`
}
type PushSystemEvent ¶
type PushSystemEvent struct {
BaseSystemEvent
Before string `json:"before"`
After string `json:"after"`
Ref string `json:"ref"`
CheckoutSHA string `json:"checkout_sha"`
UserID int64 `json:"user_id"`
UserName string `json:"user_name"`
UserUsername string `json:"user_username"`
UserEmail string `json:"user_email"`
UserAvatar string `json:"user_avatar"`
ProjectID int64 `json:"project_id"`
Project PushSystemEventProject `json:"project"`
Commits []PushSystemEventCommit `json:"commits"`
TotalCommitsCount int64 `json:"total_commits_count"`
}
PushSystemEvent represents a push system event.
GitLab API docs: https://docs.gitlab.com/administration/system_hooks/#push-events
type PushSystemEventCommit ¶
type PushSystemEventCommit struct {
ID string `json:"id"`
Message string `json:"message"`
Timestamp time.Time `json:"timestamp"`
URL string `json:"url"`
Author PushSystemEventCommitAuthor `json:"author"`
}
PushSystemEventCommit represents a push system event's commit.
GitLab API docs: https://docs.gitlab.com/administration/system_hooks/#push-events
type PushSystemEventCommitAuthor ¶
PushSystemEventCommitAuthor represents a push system event's commit author.
GitLab API docs: https://docs.gitlab.com/administration/system_hooks/#push-events
type PushSystemEventProject ¶
type PushSystemEventProject 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 int64 `json:"visibility_level"`
PathWithNamespace string `json:"path_with_namespace"`
DefaultBranch string `json:"default_branch"`
Homepage string `json:"homepage"`
URL string `json:"url"`
}
PushSystemEventProject represents a push system event's project.
GitLab API docs: https://docs.gitlab.com/administration/system_hooks/#push-events
type QueueMetrics ¶
type QueueMetrics struct {
Queues map[string]QueueMetricsQueue `json:"queues"`
}
QueueMetrics represents the GitLab sidekiq queue metrics.
GitLab API docs: https://docs.gitlab.com/api/sidekiq_metrics/#get-the-current-queue-metrics
type QueueMetricsQueue ¶
QueueMetricsQueue represents the GitLab sidekiq queue metrics queue.
GitLab API docs: https://docs.gitlab.com/api/sidekiq_metrics/#get-the-current-queue-metrics
type RateLimiter ¶
RateLimiter describes the interface that all (custom) rate limiters must implement.
type RebaseMergeRequestOptions ¶
type RebaseMergeRequestOptions struct {
SkipCI *bool `url:"skip_ci,omitempty" json:"skip_ci,omitempty"`
}
RebaseMergeRequestOptions represents the available RebaseMergeRequest() options.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#rebase-a-merge-request
type RecentFailures ¶
RecentFailures contains failures count for the project's default branch.
type RedmineService ¶
type RedmineService struct {
Service
Properties *RedmineServiceProperties `json:"properties"`
}
RedmineService represents the Redmine service settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#redmine
type RedmineServiceProperties ¶
type RedmineServiceProperties struct {
NewIssueURL string `json:"new_issue_url"`
ProjectURL string `json:"project_url"`
IssuesURL string `json:"issues_url"`
UseInheritedSettings BoolValue `json:"use_inherited_settings"`
}
RedmineServiceProperties represents Redmine specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#redmine
type RegisterAgentOptions ¶
type RegisterAgentOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
}
RegisterAgentOptions represents the available RegisterAgent() options.
GitLab API docs: https://docs.gitlab.com/api/cluster_agents/#register-an-agent-with-a-project
type RegisterNewRunnerInfoOptions ¶
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"`
}
RegisterNewRunnerInfoOptions represents the info hashmap parameter in RegisterNewRunnerOptions.
GitLab API docs: https://docs.gitlab.com/api/runners/#create-a-runner
type RegisterNewRunnerOptions ¶
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"`
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 *int64 `url:"maximum_timeout,omitempty" json:"maximum_timeout,omitempty"`
MaintenanceNote *string `url:"maintenance_note,omitempty" json:"maintenance_note,omitempty"`
// Deprecated: for removal in v5 of the API, use Paused instead
Active *bool `url:"active,omitempty" json:"active,omitempty"`
}
RegisterNewRunnerOptions represents the available RegisterNewRunner() options.
GitLab API docs: https://docs.gitlab.com/api/runners/#create-a-runner
type RegistryRepository ¶
type RegistryRepository struct {
ID int64 `json:"id"`
Name string `json:"name"`
Path string `json:"path"`
ProjectID int64 `json:"project_id"`
Location string `json:"location"`
CreatedAt *time.Time `json:"created_at"`
CleanupPolicyStartedAt *time.Time `json:"cleanup_policy_started_at"`
Status *ContainerRegistryStatus `json:"status"`
TagsCount int64 `json:"tags_count"`
Tags []*RegistryRepositoryTag `json:"tags"`
}
RegistryRepository represents a GitLab content registry repository.
GitLab API docs: https://docs.gitlab.com/api/container_registry/
func (RegistryRepository) String ¶
func (s RegistryRepository) String() string
type RegistryRepositoryTag ¶
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 int64 `json:"total_size"`
}
RegistryRepositoryTag represents a GitLab registry image tag.
GitLab API docs: https://docs.gitlab.com/api/container_registry/
func (RegistryRepositoryTag) String ¶
func (s RegistryRepositoryTag) String() string
type Release ¶
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 BasicUser `json:"author"`
Commit Commit `json:"commit"`
Milestones []*ReleaseMilestone `json:"milestones"`
UpcomingRelease bool `json:"upcoming_release"`
CommitPath string `json:"commit_path"`
TagPath string `json:"tag_path"`
Assets ReleaseAssets `json:"assets"`
Evidences []*ReleaseEvidence `json:"evidences"`
Links ReleaseLinks `json:"_links"`
}
Release represents a project release.
GitLab API docs: https://docs.gitlab.com/api/releases/#list-releases
type ReleaseAssetLinkOptions ¶
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"`
DirectAssetPath *string `url:"direct_asset_path,omitempty" json:"direct_asset_path,omitempty"`
LinkType *LinkTypeValue `url:"link_type,omitempty" json:"link_type,omitempty"`
}
ReleaseAssetLinkOptions represents release asset link in CreateRelease() options.
GitLab API docs: https://docs.gitlab.com/api/releases/#create-a-release
type ReleaseAssets ¶
type ReleaseAssets struct {
Count int64 `json:"count"`
Sources []ReleaseAssetsSource `json:"sources"`
Links []*ReleaseLink `json:"links"`
EvidenceFilePath string `json:"evidence_file_path"`
}
ReleaseAssets represents a project release assets.
GitLab API docs: https://docs.gitlab.com/api/releases/#list-releases
type ReleaseAssetsOptions ¶
type ReleaseAssetsOptions struct {
Links []*ReleaseAssetLinkOptions `url:"links,omitempty" json:"links,omitempty"`
}
ReleaseAssetsOptions represents release assets in CreateRelease() options.
GitLab API docs: https://docs.gitlab.com/api/releases/#create-a-release
type ReleaseAssetsSource ¶
ReleaseAssetsSource represents a project release assets source.
GitLab API docs: https://docs.gitlab.com/api/releases/#list-releases
type ReleaseEvent ¶
type ReleaseEvent struct {
ID int64 `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 ReleaseEventProject `json:"project"`
URL string `json:"url"`
Action string `json:"action"`
Assets ReleaseEventAssets `json:"assets"`
Commit ReleaseEventCommit `json:"commit"`
}
ReleaseEvent represents a release event
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#release-events
type ReleaseEventAssets ¶
type ReleaseEventAssets struct {
Count int64 `json:"count"`
Links []ReleaseEventAssetsLink `json:"links"`
Sources []ReleaseEventAssetsSource `json:"sources"`
}
type ReleaseEventAssetsLink ¶
type ReleaseEventCommit ¶
type ReleaseEventProject ¶
type ReleaseEventProject struct {
ID int64 `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 int64 `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"`
}
type ReleaseEvidence ¶
type ReleaseEvidence struct {
SHA string `json:"sha"`
Filepath string `json:"filepath"`
CollectedAt *time.Time `json:"collected_at"`
}
ReleaseEvidence represents a project release's evidence.
GitLab API docs: https://docs.gitlab.com/api/releases/#list-releases
type ReleaseLink ¶
type ReleaseLink struct {
ID int64 `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"`
}
ReleaseLink represents a release link.
GitLab API docs: https://docs.gitlab.com/api/releases/links/
type ReleaseLinks ¶
type ReleaseLinks 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"`
}
ReleaseLinks represents a project release links.
GitLab API docs: https://docs.gitlab.com/api/releases/#list-releases
type ReleaseLinksService ¶
type ReleaseLinksService struct {
// contains filtered or unexported fields
}
ReleaseLinksService handles communication with the release link methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/releases/links/
func (*ReleaseLinksService) CreateReleaseLink ¶
func (s *ReleaseLinksService) CreateReleaseLink(pid any, tagName string, opt *CreateReleaseLinkOptions, options ...RequestOptionFunc) (*ReleaseLink, *Response, error)
CreateReleaseLink creates a link.
GitLab API docs: https://docs.gitlab.com/api/releases/links/#create-a-release-link
func (*ReleaseLinksService) DeleteReleaseLink ¶
func (s *ReleaseLinksService) DeleteReleaseLink(pid any, tagName string, link int64, options ...RequestOptionFunc) (*ReleaseLink, *Response, error)
DeleteReleaseLink deletes a link from release.
GitLab API docs: https://docs.gitlab.com/api/releases/links/#delete-a-release-link
func (*ReleaseLinksService) GetReleaseLink ¶
func (s *ReleaseLinksService) GetReleaseLink(pid any, tagName string, link int64, options ...RequestOptionFunc) (*ReleaseLink, *Response, error)
GetReleaseLink returns a link from release assets.
GitLab API docs: https://docs.gitlab.com/api/releases/links/#get-a-release-link
func (*ReleaseLinksService) ListReleaseLinks ¶
func (s *ReleaseLinksService) ListReleaseLinks(pid any, tagName string, opt *ListReleaseLinksOptions, options ...RequestOptionFunc) ([]*ReleaseLink, *Response, error)
ListReleaseLinks gets assets as links from a Release.
GitLab API docs: https://docs.gitlab.com/api/releases/links/#list-links-of-a-release
func (*ReleaseLinksService) UpdateReleaseLink ¶
func (s *ReleaseLinksService) UpdateReleaseLink(pid any, tagName string, link int64, opt *UpdateReleaseLinkOptions, options ...RequestOptionFunc) (*ReleaseLink, *Response, error)
UpdateReleaseLink updates an asset link.
GitLab API docs: https://docs.gitlab.com/api/releases/links/#update-a-release-link
type ReleaseLinksServiceInterface ¶
type ReleaseLinksServiceInterface interface {
ListReleaseLinks(pid any, tagName string, opt *ListReleaseLinksOptions, options ...RequestOptionFunc) ([]*ReleaseLink, *Response, error)
GetReleaseLink(pid any, tagName string, link int64, options ...RequestOptionFunc) (*ReleaseLink, *Response, error)
CreateReleaseLink(pid any, tagName string, opt *CreateReleaseLinkOptions, options ...RequestOptionFunc) (*ReleaseLink, *Response, error)
UpdateReleaseLink(pid any, tagName string, link int64, opt *UpdateReleaseLinkOptions, options ...RequestOptionFunc) (*ReleaseLink, *Response, error)
DeleteReleaseLink(pid any, tagName string, link int64, options ...RequestOptionFunc) (*ReleaseLink, *Response, error)
}
type ReleaseMilestone ¶
type ReleaseMilestone struct {
ID int64 `json:"id"`
IID int64 `json:"iid"`
ProjectID int64 `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"`
DueDate *ISOTime `json:"due_date"`
StartDate *ISOTime `json:"start_date"`
WebURL string `json:"web_url"`
IssueStats *ReleaseMilestoneIssueStats `json:"issue_stats"`
}
ReleaseMilestone represents a project release milestone.
GitLab API docs: https://docs.gitlab.com/api/releases/#list-releases
type ReleaseMilestoneIssueStats ¶
ReleaseMilestoneIssueStats represents a project release milestone's related issues statistics.
GitLab API docs: https://docs.gitlab.com/api/releases/#list-releases
type ReleaseNote ¶
type ReleaseNote struct {
TagName string `json:"tag_name"`
Description string `json:"description"`
}
ReleaseNote represents a GitLab version release.
GitLab API docs: https://docs.gitlab.com/api/tags/
type ReleasesService ¶
type ReleasesService struct {
// contains filtered or unexported fields
}
ReleasesService handles communication with the releases methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/releases/
func (*ReleasesService) CreateRelease ¶
func (s *ReleasesService) CreateRelease(pid any, opts *CreateReleaseOptions, options ...RequestOptionFunc) (*Release, *Response, error)
CreateRelease creates a release.
GitLab API docs: https://docs.gitlab.com/api/releases/#create-a-release
func (*ReleasesService) DeleteRelease ¶
func (s *ReleasesService) DeleteRelease(pid any, tagName string, options ...RequestOptionFunc) (*Release, *Response, error)
DeleteRelease deletes a release.
GitLab API docs: https://docs.gitlab.com/api/releases/#delete-a-release
func (*ReleasesService) GetLatestRelease ¶
func (s *ReleasesService) GetLatestRelease(pid any, options ...RequestOptionFunc) (*Release, *Response, error)
GetLatestRelease returns the latest release for the project.
GitLab API docs: https://docs.gitlab.com/api/releases/#get-the-latest-release
func (*ReleasesService) GetRelease ¶
func (s *ReleasesService) GetRelease(pid any, tagName string, options ...RequestOptionFunc) (*Release, *Response, error)
GetRelease returns a single release, identified by a tag name.
GitLab API docs: https://docs.gitlab.com/api/releases/#get-a-release-by-a-tag-name
func (*ReleasesService) ListReleases ¶
func (s *ReleasesService) ListReleases(pid any, opt *ListReleasesOptions, options ...RequestOptionFunc) ([]*Release, *Response, error)
ListReleases gets a paginated list of releases accessible by the authenticated user.
GitLab API docs: https://docs.gitlab.com/api/releases/#list-releases
func (*ReleasesService) UpdateRelease ¶
func (s *ReleasesService) UpdateRelease(pid any, tagName string, opts *UpdateReleaseOptions, options ...RequestOptionFunc) (*Release, *Response, error)
UpdateRelease updates a release.
GitLab API docs: https://docs.gitlab.com/api/releases/#update-a-release
type ReleasesServiceInterface ¶
type ReleasesServiceInterface interface {
ListReleases(pid any, opt *ListReleasesOptions, options ...RequestOptionFunc) ([]*Release, *Response, error)
GetRelease(pid any, tagName string, options ...RequestOptionFunc) (*Release, *Response, error)
GetLatestRelease(pid any, options ...RequestOptionFunc) (*Release, *Response, error)
CreateRelease(pid any, opts *CreateReleaseOptions, options ...RequestOptionFunc) (*Release, *Response, error)
UpdateRelease(pid any, tagName string, opts *UpdateReleaseOptions, options ...RequestOptionFunc) (*Release, *Response, error)
DeleteRelease(pid any, tagName string, options ...RequestOptionFunc) (*Release, *Response, error)
}
type RemoveGroupMemberOptions ¶
type RemoveGroupMemberOptions struct {
SkipSubresources *bool `url:"skip_subresources,omitempty" json:"skip_subresources,omitempty"`
UnassignIssuables *bool `url:"unassign_issuables,omitempty" json:"unassign_issuables,omitempty"`
}
RemoveGroupMemberOptions represents the available options to remove a group member.
GitLab API docs: https://docs.gitlab.com/api/members/#remove-a-member-from-a-group-or-project
type RemoveGroupVariableOptions ¶
type RemoveGroupVariableOptions struct {
Filter *VariableFilter `url:"filter,omitempty" json:"filter,omitempty"`
}
RemoveGroupVariableOptions represents the available RemoveVariable() options.
GitLab API docs: https://docs.gitlab.com/api/group_level_variables/#remove-variable
type RemoveProjectVariableOptions ¶
type RemoveProjectVariableOptions struct {
Filter *VariableFilter `url:"filter,omitempty" json:"filter,omitempty"`
}
RemoveProjectVariableOptions represents the available RemoveVariable() options.
GitLab API docs: https://docs.gitlab.com/api/project_level_variables/#delete-a-variable
type RenderOptions ¶
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"`
}
RenderOptions represents the available Render() options.
GitLab API docs: https://docs.gitlab.com/api/markdown/#render-an-arbitrary-markdown-document
type ReorderIssueOptions ¶
type ReorderIssueOptions struct {
MoveAfterID *int64 `url:"move_after_id,omitempty" json:"move_after_id,omitempty"`
MoveBeforeID *int64 `url:"move_before_id,omitempty" json:"move_before_id,omitempty"`
}
ReorderIssueOptions represents the available ReorderIssue() options.
GitLab API docs: https://docs.gitlab.com/api/issues/#reorder-an-issue
type RepositoriesService ¶
type RepositoriesService struct {
// contains filtered or unexported fields
}
RepositoriesService handles communication with the repositories related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/repositories/
func (*RepositoriesService) AddChangelog ¶
func (s *RepositoriesService) AddChangelog(pid any, opt *AddChangelogOptions, options ...RequestOptionFunc) (*Response, error)
func (*RepositoriesService) Archive ¶
func (s *RepositoriesService) Archive(pid any, opt *ArchiveOptions, options ...RequestOptionFunc) ([]byte, *Response, error)
func (*RepositoriesService) Blob ¶
func (s *RepositoriesService) Blob(pid any, sha string, options ...RequestOptionFunc) ([]byte, *Response, error)
func (*RepositoriesService) Compare ¶
func (s *RepositoriesService) Compare(pid any, opt *CompareOptions, options ...RequestOptionFunc) (*Compare, *Response, error)
func (*RepositoriesService) Contributors ¶
func (s *RepositoriesService) Contributors(pid any, opt *ListContributorsOptions, options ...RequestOptionFunc) ([]*Contributor, *Response, error)
func (*RepositoriesService) GenerateChangelogData ¶
func (s *RepositoriesService) GenerateChangelogData(pid any, opt GenerateChangelogDataOptions, options ...RequestOptionFunc) (*ChangelogData, *Response, error)
func (*RepositoriesService) ListTree ¶
func (s *RepositoriesService) ListTree(pid any, opt *ListTreeOptions, options ...RequestOptionFunc) ([]*TreeNode, *Response, error)
func (*RepositoriesService) MergeBase ¶
func (s *RepositoriesService) MergeBase(pid any, opt *MergeBaseOptions, options ...RequestOptionFunc) (*Commit, *Response, error)
func (*RepositoriesService) RawBlobContent ¶
func (s *RepositoriesService) RawBlobContent(pid any, sha string, options ...RequestOptionFunc) ([]byte, *Response, error)
func (*RepositoriesService) StreamArchive ¶
func (s *RepositoriesService) StreamArchive(pid any, w io.Writer, opt *ArchiveOptions, options ...RequestOptionFunc) (*Response, error)
type RepositoriesServiceInterface ¶
type RepositoriesServiceInterface interface {
// ListTree gets a list of repository files and directories in a project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/repositories/#list-repository-tree
ListTree(pid any, opt *ListTreeOptions, options ...RequestOptionFunc) ([]*TreeNode, *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/api/repositories/#get-a-blob-from-repository
Blob(pid any, 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/api/repositories/#raw-blob-content
RawBlobContent(pid any, sha string, options ...RequestOptionFunc) ([]byte, *Response, error)
// Archive gets an archive of the repository.
//
// GitLab API docs:
// https://docs.gitlab.com/api/repositories/#get-file-archive
Archive(pid any, opt *ArchiveOptions, options ...RequestOptionFunc) ([]byte, *Response, error)
// StreamArchive streams an archive of the repository to the provided
// io.Writer.
//
// GitLab API docs:
// https://docs.gitlab.com/api/repositories/#get-file-archive
StreamArchive(pid any, w io.Writer, opt *ArchiveOptions, options ...RequestOptionFunc) (*Response, error)
// Compare compares branches, tags or commits.
//
// GitLab API docs:
// https://docs.gitlab.com/api/repositories/#compare-branches-tags-or-commits
Compare(pid any, opt *CompareOptions, options ...RequestOptionFunc) (*Compare, *Response, error)
// Contributors gets the repository contributors list.
//
// GitLab API docs: https://docs.gitlab.com/api/repositories/#contributors
Contributors(pid any, opt *ListContributorsOptions, options ...RequestOptionFunc) ([]*Contributor, *Response, error)
// MergeBase gets the common ancestor for 2 refs (commit SHAs, branch
// names or tags).
//
// GitLab API docs:
// https://docs.gitlab.com/api/repositories/#merge-base
MergeBase(pid any, opt *MergeBaseOptions, options ...RequestOptionFunc) (*Commit, *Response, error)
// AddChangelog generates changelog data based on commits in a repository.
//
// GitLab API docs:
// https://docs.gitlab.com/api/repositories/#add-changelog-data-to-a-changelog-file
AddChangelog(pid any, opt *AddChangelogOptions, options ...RequestOptionFunc) (*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/api/repositories/#generate-changelog-data
GenerateChangelogData(pid any, opt GenerateChangelogDataOptions, options ...RequestOptionFunc) (*ChangelogData, *Response, error)
}
type 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"`
}
Repository represents a repository.
type RepositoryFilesService ¶
type RepositoryFilesService struct {
// contains filtered or unexported fields
}
RepositoryFilesService handles communication with the repository files related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/repository_files/
func (*RepositoryFilesService) CreateFile ¶
func (s *RepositoryFilesService) CreateFile(pid any, fileName string, opt *CreateFileOptions, options ...RequestOptionFunc) (*FileInfo, *Response, error)
CreateFile creates a new file in a repository.
GitLab API docs: https://docs.gitlab.com/api/repository_files/#create-new-file-in-repository
func (*RepositoryFilesService) DeleteFile ¶
func (s *RepositoryFilesService) DeleteFile(pid any, fileName string, opt *DeleteFileOptions, options ...RequestOptionFunc) (*Response, error)
DeleteFile deletes an existing file in a repository
GitLab API docs: https://docs.gitlab.com/api/repository_files/#delete-existing-file-in-repository
func (*RepositoryFilesService) GetFile ¶
func (s *RepositoryFilesService) GetFile(pid any, 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/api/repository_files/#get-file-from-repository
func (*RepositoryFilesService) GetFileBlame ¶
func (s *RepositoryFilesService) GetFileBlame(pid any, 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/api/repository_files/#get-file-blame-from-repository
func (*RepositoryFilesService) GetFileMetaData ¶
func (s *RepositoryFilesService) GetFileMetaData(pid any, 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/api/repository_files/#get-file-from-repository
func (*RepositoryFilesService) GetRawFile ¶
func (s *RepositoryFilesService) GetRawFile(pid any, fileName string, opt *GetRawFileOptions, options ...RequestOptionFunc) ([]byte, *Response, error)
GetRawFile gets the contents of a raw file from a repository.
GitLab API docs: https://docs.gitlab.com/api/repository_files/#get-raw-file-from-repository
func (*RepositoryFilesService) GetRawFileMetaData ¶
func (s *RepositoryFilesService) GetRawFileMetaData(pid any, fileName string, opt *GetRawFileOptions, options ...RequestOptionFunc) (*File, *Response, error)
GetRawFileMetaData gets the metadata of a raw file from a repository.
GitLab API docs: https://docs.gitlab.com/api/repository_files/#get-raw-file-from-repository
func (*RepositoryFilesService) UpdateFile ¶
func (s *RepositoryFilesService) UpdateFile(pid any, fileName string, opt *UpdateFileOptions, options ...RequestOptionFunc) (*FileInfo, *Response, error)
UpdateFile updates an existing file in a repository
GitLab API docs: https://docs.gitlab.com/api/repository_files/#update-existing-file-in-repository
type RepositoryFilesServiceInterface ¶
type RepositoryFilesServiceInterface interface {
GetFile(pid any, fileName string, opt *GetFileOptions, options ...RequestOptionFunc) (*File, *Response, error)
GetFileMetaData(pid any, fileName string, opt *GetFileMetaDataOptions, options ...RequestOptionFunc) (*File, *Response, error)
GetFileBlame(pid any, file string, opt *GetFileBlameOptions, options ...RequestOptionFunc) ([]*FileBlameRange, *Response, error)
GetRawFile(pid any, fileName string, opt *GetRawFileOptions, options ...RequestOptionFunc) ([]byte, *Response, error)
GetRawFileMetaData(pid any, fileName string, opt *GetRawFileOptions, options ...RequestOptionFunc) (*File, *Response, error)
CreateFile(pid any, fileName string, opt *CreateFileOptions, options ...RequestOptionFunc) (*FileInfo, *Response, error)
UpdateFile(pid any, fileName string, opt *UpdateFileOptions, options ...RequestOptionFunc) (*FileInfo, *Response, error)
DeleteFile(pid any, fileName string, opt *DeleteFileOptions, options ...RequestOptionFunc) (*Response, error)
}
type RepositoryGroup ¶
type RepositoryProject ¶
type RepositorySnippet ¶
type RepositorySnippet struct {
ID int64 `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 int64 `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 ¶
type RepositorySubmodulesService struct {
// contains filtered or unexported fields
}
RepositorySubmodulesService handles communication with the repository submodules related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/repository_submodules/
func (*RepositorySubmodulesService) UpdateSubmodule ¶
func (s *RepositorySubmodulesService) UpdateSubmodule(pid any, submodule string, opt *UpdateSubmoduleOptions, options ...RequestOptionFunc) (*SubmoduleCommit, *Response, error)
UpdateSubmodule updates an existing submodule reference.
GitLab API docs: https://docs.gitlab.com/api/repository_submodules/#update-existing-submodule-reference-in-repository
type RepositorySubmodulesServiceInterface ¶
type RepositorySubmodulesServiceInterface interface {
UpdateSubmodule(pid any, submodule string, opt *UpdateSubmoduleOptions, options ...RequestOptionFunc) (*SubmoduleCommit, *Response, error)
}
type RepositoryUpdateSystemEvent ¶
type RepositoryUpdateSystemEvent struct {
BaseSystemEvent
UserID int64 `json:"user_id"`
UserName string `json:"user_name"`
UserEmail string `json:"user_email"`
UserAvatar string `json:"user_avatar"`
ProjectID int64 `json:"project_id"`
Project RepositoryUpdateSystemEventProject `json:"project"`
Changes []RepositoryUpdateSystemEventChange `json:"changes"`
Refs []string `json:"refs"`
}
RepositoryUpdateSystemEvent represents a repository updated system event.
GitLab API docs: https://docs.gitlab.com/administration/system_hooks/#repository-update-events
type RepositoryUpdateSystemEventChange ¶
type RepositoryUpdateSystemEventChange struct {
Before string `json:"before"`
After string `json:"after"`
Ref string `json:"ref"`
}
RepositoryUpdateSystemEventChange represents a repository updated system event's change.
GitLab API docs: https://docs.gitlab.com/administration/system_hooks/#repository-update-events
type RepositoryUpdateSystemEventProject ¶
type RepositoryUpdateSystemEventProject struct {
ID int64 `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 int64 `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"`
}
RepositoryUpdateSystemEventProject represents a repository updated system event's project.
GitLab API docs: https://docs.gitlab.com/administration/system_hooks/#repository-update-events
type RequestLevelAuthStrategy ¶ added in v2.13.0
type RequestLevelAuthStrategy struct {
DefaultAuthStrategy AuthTokenStrategy
}
RequestLevelAuthStrategy defines an authentication strategy where tokens that are provided using functions such as `WithToken` will override any tokens provided in the client constructor. The "DefaultAuthStrategy" parameter can be used to define what token should be used if no token is provided on a given request. It will default to `AllHeadersAuthStrategy`
func (RequestLevelAuthStrategy) ApplyAuthHeader ¶ added in v2.13.0
func (a RequestLevelAuthStrategy) ApplyAuthHeader(authSource AuthSource, req *retryablehttp.Request) error
type RequestOptionFunc ¶
type RequestOptionFunc func(*retryablehttp.Request) error
RequestOptionFunc can be passed to all API requests to customize the API request.
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 WithNext ¶
func WithNext(resp *Response) (RequestOptionFunc, bool)
WithNext returns a RequestOptionFunc that configures the next page of a paginated request based on pagination metadata from a previous response. It automatically detects and handles all three pagination styles used by GitLab's APIs:
- GraphQL cursor pagination: Uses PageInfo.EndCursor with the "after" variable
- REST keyset pagination: Extracts parameters from the "next" link header
- REST offset pagination: Uses the NextPage number with "page" parameter
If multiple pagination styles are present in the response, keyset/cursor pagination is preferred over offset pagination for better performance and consistency.
The boolean return value indicates whether more pages are available, similar to the comma-ok idiom used for map accesses. When false, the returned RequestOptionFunc is nil.
Example ¶
ctx := context.Background()
client, err := NewClient("yourtokengoeshere")
if err != nil {
log.Fatal(err)
}
var (
projectName = "example/example"
opts = ListProjectMergeRequestsOptions{
AuthorUsername: Ptr("me"),
}
page RequestOptionFunc
)
for {
mrs, resp, err := client.MergeRequests.ListProjectMergeRequests(projectName, &opts, WithContext(ctx), page)
if err != nil {
log.Fatal(err)
}
// Process mrs...
_ = mrs
next, ok := WithNext(resp)
if !ok {
// No more pages, break the loop
break
}
page = next
}
func WithOffsetPaginationParameters ¶
func WithOffsetPaginationParameters(page int64) RequestOptionFunc
WithOffsetPaginationParameters takes a page number and modifies the request to use that page for offset-based pagination, overriding any existing page value.
func WithRequestRetry ¶
func WithRequestRetry(checkRetry retryablehttp.CheckRetry) RequestOptionFunc
WithRequestRetry takes a `retryablehttp.CheckRetry` which is then used when making this one request.
Example (CreateMergeRequestAndSetAutoMerge) ¶
git, err := NewClient("yourtokengoeshere")
if err != nil {
log.Fatal(err)
}
projectName := "example/example"
// Create a new Merge Request
mr, _, err := git.MergeRequests.CreateMergeRequest(projectName, &CreateMergeRequestOptions{
SourceBranch: Ptr("my-topic-branch"),
TargetBranch: Ptr("main"),
Title: Ptr("New MergeRequest"),
Description: Ptr("New MergeRequest"),
RemoveSourceBranch: Ptr(true),
})
if err != nil {
log.Fatal(err)
}
// Set auto-merge to created Merge Request
// c.f. https://docs.gitlab.com/user/project/merge_requests/auto_merge/
_, _, err = git.MergeRequests.AcceptMergeRequest(
projectName, mr.IID, &AcceptMergeRequestOptions{MergeWhenPipelineSucceeds: Ptr(true)},
// client-go provides retries on rate limit (429) and server (>= 500) errors by default.
//
// But Method Not Allowed (405) and Unprocessable Content (422) errors will be returned
// when AcceptMergeRequest is called immediately after CreateMergeRequest.
//
// c.f. https://docs.gitlab.com/api/merge_requests/#merge-a-merge-request
//
// Therefore, add a retryable status code only for AcceptMergeRequest calls
WithRequestRetry(func(ctx context.Context, resp *http.Response, err error) (bool, error) {
if ctx.Err() != nil {
return false, ctx.Err()
}
if err != nil {
return false, err
}
if resp.StatusCode == http.StatusTooManyRequests || resp.StatusCode >= http.StatusInternalServerError || resp.StatusCode == http.StatusMethodNotAllowed || resp.StatusCode == http.StatusUnprocessableEntity {
return true, nil
}
return false, nil
}),
)
if err != nil {
log.Fatal(err)
}
func WithSudo ¶
func WithSudo(uid any) 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 ResolveMergeRequestDiscussionOptions ¶
type ResolveMergeRequestDiscussionOptions struct {
Resolved *bool `url:"resolved,omitempty" json:"resolved,omitempty"`
}
ResolveMergeRequestDiscussionOptions represents the available ResolveMergeRequestDiscussion() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#resolve-a-merge-request-thread
type ResourceGroup ¶
type ResourceGroup struct {
ID int64 `json:"id"`
Key string `json:"key"`
ProcessMode string `json:"process_mode"`
CreatedAt *time.Time `json:"created_at"`
UpdatedAt *time.Time `json:"updated_at"`
}
ResourceGroup represents a GitLab Project Resource Group.
GitLab API docs: https://docs.gitlab.com/api/resource_groups/
func (ResourceGroup) String ¶
func (rg ResourceGroup) String() string
String gets a string representation of a ResourceGroup
GitLab API docs: https://docs.gitlab.com/api/resource_groups/
type ResourceGroupProcessMode ¶
type ResourceGroupProcessMode string
ResourceGroupProcessMode represents a process mode for a resource group within a GitLab project.
GitLab API docs: https://docs.gitlab.com/ci/resource_groups/#process-modes
const ( Unordered ResourceGroupProcessMode = "unordered" OldestFirst ResourceGroupProcessMode = "oldest_first" NewestFirst ResourceGroupProcessMode = "newest_first" NewestReadyFirst ResourceGroupProcessMode = "newest_ready_first" )
List of available resource group process modes.
GitLab API docs: https://docs.gitlab.com/ci/resource_groups/#process-modes
type ResourceGroupService ¶
type ResourceGroupService struct {
// contains filtered or unexported fields
}
ResourceGroupService handles communication with the resource group related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/resource_groups/
func (*ResourceGroupService) EditAnExistingResourceGroup ¶
func (s *ResourceGroupService) EditAnExistingResourceGroup(pid any, key string, opts *EditAnExistingResourceGroupOptions, options ...RequestOptionFunc) (*ResourceGroup, *Response, error)
EditAnExistingResourceGroup allows you to edit a specific resource group for a given project
GitLab API docs: https://docs.gitlab.com/api/resource_groups/#edit-an-existing-resource-group
func (*ResourceGroupService) GetASpecificResourceGroup ¶
func (s *ResourceGroupService) GetASpecificResourceGroup(pid any, key string, options ...RequestOptionFunc) (*ResourceGroup, *Response, error)
GetASpecificResourceGroup allows you to get a specific resource group for a given project.
GitLab API docs: https://docs.gitlab.com/api/resource_groups/#get-a-specific-resource-group
func (*ResourceGroupService) GetAllResourceGroupsForAProject ¶
func (s *ResourceGroupService) GetAllResourceGroupsForAProject(pid any, options ...RequestOptionFunc) ([]*ResourceGroup, *Response, error)
GetAllResourceGroupsForAProject allows you to get all resource groups associated with a given project.
GitLab API docs: https://docs.gitlab.com/api/resource_groups/#get-all-resource-groups-for-a-project
func (*ResourceGroupService) ListUpcomingJobsForASpecificResourceGroup ¶
func (s *ResourceGroupService) ListUpcomingJobsForASpecificResourceGroup(pid any, key string, options ...RequestOptionFunc) ([]*Job, *Response, error)
ListUpcomingJobsForASpecificResourceGroup allows you to get all upcoming jobs for a specific resource group for a given project.
GitLab API docs: https://docs.gitlab.com/api/resource_groups/#list-upcoming-jobs-for-a-specific-resource-group
type ResourceGroupServiceInterface ¶
type ResourceGroupServiceInterface interface {
GetAllResourceGroupsForAProject(pid any, options ...RequestOptionFunc) ([]*ResourceGroup, *Response, error)
GetASpecificResourceGroup(pid any, key string, options ...RequestOptionFunc) (*ResourceGroup, *Response, error)
ListUpcomingJobsForASpecificResourceGroup(pid any, key string, options ...RequestOptionFunc) ([]*Job, *Response, error)
EditAnExistingResourceGroup(pid any, key string, opts *EditAnExistingResourceGroupOptions, options ...RequestOptionFunc) (*ResourceGroup, *Response, error)
}
type ResourceIterationEventsService ¶
type ResourceIterationEventsService struct {
// contains filtered or unexported fields
}
ResourceIterationEventsService handles communication with the event related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/resource_iteration_events/
func (*ResourceIterationEventsService) GetIssueIterationEvent ¶
func (s *ResourceIterationEventsService) GetIssueIterationEvent(pid any, issue int64, event int64, options ...RequestOptionFunc) (*IterationEvent, *Response, error)
GetIssueIterationEvent gets a single issue iteration event.
GitLab API docs: https://docs.gitlab.com/api/resource_iteration_events/#get-single-issue-iteration-event
func (*ResourceIterationEventsService) ListIssueIterationEvents ¶
func (s *ResourceIterationEventsService) ListIssueIterationEvents(pid any, issue int64, 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/api/resource_iteration_events/#list-project-issue-iteration-events
type ResourceIterationEventsServiceInterface ¶
type ResourceIterationEventsServiceInterface interface {
ListIssueIterationEvents(pid any, issue int64, opt *ListIterationEventsOptions, options ...RequestOptionFunc) ([]*IterationEvent, *Response, error)
GetIssueIterationEvent(pid any, issue int64, event int64, options ...RequestOptionFunc) (*IterationEvent, *Response, error)
}
type ResourceLabelEventsService ¶
type ResourceLabelEventsService struct {
// contains filtered or unexported fields
}
ResourceLabelEventsService handles communication with the event related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/resource_label_events/
func (*ResourceLabelEventsService) GetGroupEpicLabelEvent ¶
func (s *ResourceLabelEventsService) GetGroupEpicLabelEvent(gid any, epic int64, event int64, options ...RequestOptionFunc) (*LabelEvent, *Response, error)
GetGroupEpicLabelEvent gets a single group epic label event. Will be removed in v5, use Work Items API instead
GitLab API docs: https://docs.gitlab.com/api/resource_label_events/#get-single-epic-label-event
func (*ResourceLabelEventsService) GetIssueLabelEvent ¶
func (s *ResourceLabelEventsService) GetIssueLabelEvent(pid any, issue int64, event int64, options ...RequestOptionFunc) (*LabelEvent, *Response, error)
GetIssueLabelEvent gets a single issue-label-event.
GitLab API docs: https://docs.gitlab.com/api/resource_label_events/#get-single-issue-label-event
func (*ResourceLabelEventsService) GetMergeRequestLabelEvent ¶
func (s *ResourceLabelEventsService) GetMergeRequestLabelEvent(pid any, request int64, event int64, options ...RequestOptionFunc) (*LabelEvent, *Response, error)
GetMergeRequestLabelEvent gets a single merge request label event.
GitLab API docs: https://docs.gitlab.com/api/resource_label_events/#get-single-merge-request-label-event
func (*ResourceLabelEventsService) ListGroupEpicLabelEvents ¶
func (s *ResourceLabelEventsService) ListGroupEpicLabelEvents(gid any, epic int64, opt *ListLabelEventsOptions, options ...RequestOptionFunc) ([]*LabelEvent, *Response, error)
ListGroupEpicLabelEvents retrieves resource label events for the specified group and epic. Will be removed in v5, use Work Items API instead
GitLab API docs: https://docs.gitlab.com/api/resource_label_events/#list-group-epic-label-events
func (*ResourceLabelEventsService) ListIssueLabelEvents ¶
func (s *ResourceLabelEventsService) ListIssueLabelEvents(pid any, issue int64, 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/api/resource_label_events/#list-project-issue-label-events
func (*ResourceLabelEventsService) ListMergeRequestsLabelEvents ¶
func (s *ResourceLabelEventsService) ListMergeRequestsLabelEvents(pid any, request int64, 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/api/resource_label_events/#list-project-merge-request-label-events
type ResourceLabelEventsServiceInterface ¶
type ResourceLabelEventsServiceInterface interface {
ListIssueLabelEvents(pid any, issue int64, opt *ListLabelEventsOptions, options ...RequestOptionFunc) ([]*LabelEvent, *Response, error)
GetIssueLabelEvent(pid any, issue int64, event int64, options ...RequestOptionFunc) (*LabelEvent, *Response, error)
ListMergeRequestsLabelEvents(pid any, request int64, opt *ListLabelEventsOptions, options ...RequestOptionFunc) ([]*LabelEvent, *Response, error)
GetMergeRequestLabelEvent(pid any, request int64, event int64, options ...RequestOptionFunc) (*LabelEvent, *Response, error)
// Will be removed in v5, use Work Items API instead
ListGroupEpicLabelEvents(gid any, epic int64, opt *ListLabelEventsOptions, options ...RequestOptionFunc) ([]*LabelEvent, *Response, error)
// Will be removed in v5, use Work Items API instead
GetGroupEpicLabelEvent(gid any, epic int64, event int64, options ...RequestOptionFunc) (*LabelEvent, *Response, error)
}
type ResourceMilestoneEventsService ¶
type ResourceMilestoneEventsService struct {
// contains filtered or unexported fields
}
ResourceMilestoneEventsService handles communication with the event related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/resource_milestone_events/
func (*ResourceMilestoneEventsService) GetIssueMilestoneEvent ¶
func (s *ResourceMilestoneEventsService) GetIssueMilestoneEvent(pid any, issue int64, event int64, options ...RequestOptionFunc) (*MilestoneEvent, *Response, error)
GetIssueMilestoneEvent gets a single issue milestone event.
GitLab API docs: https://docs.gitlab.com/api/resource_milestone_events/#get-single-issue-milestone-event
func (*ResourceMilestoneEventsService) GetMergeRequestMilestoneEvent ¶
func (s *ResourceMilestoneEventsService) GetMergeRequestMilestoneEvent(pid any, request int64, event int64, options ...RequestOptionFunc) (*MilestoneEvent, *Response, error)
GetMergeRequestMilestoneEvent gets a single merge request milestone event.
GitLab API docs: https://docs.gitlab.com/api/resource_milestone_events/#get-single-merge-request-milestone-event
func (*ResourceMilestoneEventsService) ListIssueMilestoneEvents ¶
func (s *ResourceMilestoneEventsService) ListIssueMilestoneEvents(pid any, issue int64, 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/api/resource_milestone_events/#list-project-issue-milestone-events
func (*ResourceMilestoneEventsService) ListMergeMilestoneEvents ¶
func (s *ResourceMilestoneEventsService) ListMergeMilestoneEvents(pid any, request int64, 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/api/resource_milestone_events/#list-project-merge-request-milestone-events
type ResourceMilestoneEventsServiceInterface ¶
type ResourceMilestoneEventsServiceInterface interface {
ListIssueMilestoneEvents(pid any, issue int64, opt *ListMilestoneEventsOptions, options ...RequestOptionFunc) ([]*MilestoneEvent, *Response, error)
GetIssueMilestoneEvent(pid any, issue int64, event int64, options ...RequestOptionFunc) (*MilestoneEvent, *Response, error)
ListMergeMilestoneEvents(pid any, request int64, opt *ListMilestoneEventsOptions, options ...RequestOptionFunc) ([]*MilestoneEvent, *Response, error)
GetMergeRequestMilestoneEvent(pid any, request int64, event int64, options ...RequestOptionFunc) (*MilestoneEvent, *Response, error)
}
type ResourceStateEventsService ¶
type ResourceStateEventsService struct {
// contains filtered or unexported fields
}
ResourceStateEventsService handles communication with the event related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/resource_state_events/
func (*ResourceStateEventsService) GetIssueStateEvent ¶
func (s *ResourceStateEventsService) GetIssueStateEvent(pid any, issue int64, event int64, options ...RequestOptionFunc) (*StateEvent, *Response, error)
GetIssueStateEvent gets a single issue-state-event.
GitLab API docs: https://docs.gitlab.com/api/resource_state_events/#get-single-issue-state-event
func (*ResourceStateEventsService) GetMergeRequestStateEvent ¶
func (s *ResourceStateEventsService) GetMergeRequestStateEvent(pid any, request int64, event int64, options ...RequestOptionFunc) (*StateEvent, *Response, error)
GetMergeRequestStateEvent gets a single merge request state event.
GitLab API docs: https://docs.gitlab.com/api/resource_state_events/#get-single-merge-request-state-event
func (*ResourceStateEventsService) ListIssueStateEvents ¶
func (s *ResourceStateEventsService) ListIssueStateEvents(pid any, issue int64, 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/api/resource_state_events/#list-project-issue-state-events
func (*ResourceStateEventsService) ListMergeStateEvents ¶
func (s *ResourceStateEventsService) ListMergeStateEvents(pid any, request int64, 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/api/resource_state_events/#list-project-merge-request-state-events
type ResourceStateEventsServiceInterface ¶
type ResourceStateEventsServiceInterface interface {
ListIssueStateEvents(pid any, issue int64, opt *ListStateEventsOptions, options ...RequestOptionFunc) ([]*StateEvent, *Response, error)
GetIssueStateEvent(pid any, issue int64, event int64, options ...RequestOptionFunc) (*StateEvent, *Response, error)
ListMergeStateEvents(pid any, request int64, opt *ListStateEventsOptions, options ...RequestOptionFunc) ([]*StateEvent, *Response, error)
GetMergeRequestStateEvent(pid any, request int64, event int64, options ...RequestOptionFunc) (*StateEvent, *Response, error)
}
type ResourceType ¶
type ResourceType string
ResourceType represents the type of resource (project or group)
const ( ProjectResource ResourceType = "projects" GroupResource ResourceType = "groups" )
type ResourceWeightEventsService ¶
type ResourceWeightEventsService struct {
// contains filtered or unexported fields
}
ResourceWeightEventsService handles communication with the event related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/resource_weight_events/
func (*ResourceWeightEventsService) ListIssueWeightEvents ¶
func (s *ResourceWeightEventsService) ListIssueWeightEvents(pid any, issue int64, 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/api/resource_weight_events/#list-project-issue-weight-events
type ResourceWeightEventsServiceInterface ¶
type ResourceWeightEventsServiceInterface interface {
ListIssueWeightEvents(pid any, issue int64, opt *ListWeightEventsOptions, options ...RequestOptionFunc) ([]*WeightEvent, *Response, error)
}
type Response ¶
type Response struct {
*http.Response
// Fields used for offset-based pagination.
TotalItems int64
TotalPages int64
ItemsPerPage int64
CurrentPage int64
NextPage int64
PreviousPage int64
// Fields used for keyset-based pagination.
PreviousLink string
NextLink string
FirstLink string
LastLink string
// GraphQL pagination.
PageInfo *PageInfo
}
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 RetrieveAllGroupStorageMovesOptions ¶
type RetrieveAllGroupStorageMovesOptions struct {
ListOptions
}
RetrieveAllGroupStorageMovesOptions represents the available RetrieveAllStorageMoves() options.
GitLab API docs: https://docs.gitlab.com/api/group_repository_storage_moves/#retrieve-all-group-repository-storage-moves
type RetrieveAllProjectStorageMovesOptions ¶
type RetrieveAllProjectStorageMovesOptions struct {
ListOptions
}
RetrieveAllProjectStorageMovesOptions represents the available RetrieveAllStorageMoves() options.
GitLab API docs: https://docs.gitlab.com/api/project_repository_storage_moves/#retrieve-all-project-repository-storage-moves
type RetrieveAllSnippetStorageMovesOptions ¶
type RetrieveAllSnippetStorageMovesOptions struct {
ListOptions
}
RetrieveAllSnippetStorageMovesOptions represents the available RetrieveAllStorageMoves() options.
GitLab API docs: https://docs.gitlab.com/api/snippet_repository_storage_moves/#retrieve-all-snippet-repository-storage-moves https://docs.gitlab.com/api/snippet_repository_storage_moves/#retrieve-all-repository-storage-moves-for-a-snippet
type RetryFailedExternalStatusCheckForProjectMergeRequestOptions ¶
type RetryFailedExternalStatusCheckForProjectMergeRequestOptions struct{}
RetryFailedExternalStatusCheckForProjectMergeRequestOptions represents the available RetryFailedExternalStatusCheckForProjectMergeRequest() options.
GitLab API docs: https://docs.gitlab.com/api/status_checks/#retry-failed-status-check-for-a-merge-request
type RevertCommitOptions ¶
type RevertCommitOptions struct {
Branch *string `url:"branch,omitempty" json:"branch,omitempty"`
}
RevertCommitOptions represents the available RevertCommit() options. GitLab API docs: https://docs.gitlab.com/api/commits/#revert-a-commit
type ReviewerIDValue ¶
type ReviewerIDValue struct {
// contains filtered or unexported fields
}
ReviewerIDValue represents a reviewer ID value within GitLab.
func ReviewerID ¶
func ReviewerID(v any) *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 ¶
type RotateGroupAccessTokenOptions struct {
ExpiresAt *ISOTime `url:"expires_at,omitempty" json:"expires_at,omitempty"`
}
RotateGroupAccessTokenOptions represents the available RotateGroupAccessToken() options.
GitLab API docs: https://docs.gitlab.com/api/group_access_tokens/#rotate-a-group-access-token
type RotatePersonalAccessTokenOptions ¶
type RotatePersonalAccessTokenOptions struct {
ExpiresAt *ISOTime `url:"expires_at,omitempty" json:"expires_at,omitempty"`
}
RotatePersonalAccessTokenOptions represents the available RotatePersonalAccessToken() options.
GitLab API docs: https://docs.gitlab.com/api/personal_access_tokens/#rotate-a-personal-access-token
type RotateProjectAccessTokenOptions ¶
type RotateProjectAccessTokenOptions struct {
ExpiresAt *ISOTime `url:"expires_at,omitempty" json:"expires_at,omitempty"`
}
RotateProjectAccessTokenOptions represents the available RotateProjectAccessToken() options.
GitLab API docs: https://docs.gitlab.com/api/project_access_tokens/#rotate-a-project-access-token
type RotateServiceAccountPersonalAccessTokenOptions ¶
type RotateServiceAccountPersonalAccessTokenOptions struct {
ExpiresAt *ISOTime `url:"expires_at,omitempty" json:"expires_at,omitempty"`
}
RotateServiceAccountPersonalAccessTokenOptions represents the available RotateServiceAccountPersonalAccessToken() options.
GitLab API docs: https://docs.gitlab.com/api/service_accounts/#rotate-a-personal-access-token-for-a-group-service-account
type RunPipelineTriggerOptions ¶
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"`
// Inputs contains pipeline input parameters.
// See PipelineInputsOption for supported types and usage.
Inputs PipelineInputsOption `url:"inputs,omitempty" json:"inputs,omitempty"`
}
RunPipelineTriggerOptions represents the available RunPipelineTrigger() options.
GitLab API docs: https://docs.gitlab.com/api/pipeline_triggers/#trigger-a-pipeline-with-a-token
type Runner ¶
type Runner struct {
ID int64 `json:"id"`
Description string `json:"description"`
Paused bool `json:"paused"`
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"`
// Deprecated: for removal in v5 of the API, use Paused instead
Active bool `json:"active"`
// Deprecated: for removal in v5 of the API, returns an empty string from 17.0 onwards, see GraphQL resource CiRunnerManager instead
IPAddress string `json:"ip_address"`
}
Runner represents a GitLab CI Runner.
GitLab API docs: https://docs.gitlab.com/api/runners/
type RunnerController ¶
type RunnerController struct {
ID int64 `json:"id"`
Description string `json:"description"`
State RunnerControllerStateValue `json:"state"`
CreatedAt *time.Time `json:"created_at"`
UpdatedAt *time.Time `json:"updated_at"`
}
RunnerController represents a GitLab runner controller.
GitLab API docs: https://docs.gitlab.com/api/runner_controllers/
type RunnerControllerDetails ¶ added in v2.4.0
type RunnerControllerDetails struct {
RunnerController
Connected bool `json:"connected"`
}
RunnerControllerDetails represents a GitLab runner controller with additional detail fields only available when fetching a single runner controller.
GitLab API docs: https://docs.gitlab.com/api/runner_controllers/#retrieve-a-single-runner-controller
type RunnerControllerInstanceLevelScoping ¶
type RunnerControllerInstanceLevelScoping struct {
CreatedAt *time.Time `json:"created_at"`
UpdatedAt *time.Time `json:"updated_at"`
}
RunnerControllerInstanceLevelScoping represents an instance-level scoping for a GitLab runner controller.
GitLab API docs: https://docs.gitlab.com/api/runner_controllers/#runner-controller-scopes
type RunnerControllerRunnerLevelScoping ¶
type RunnerControllerRunnerLevelScoping struct {
RunnerID int64 `json:"runner_id"`
CreatedAt *time.Time `json:"created_at"`
UpdatedAt *time.Time `json:"updated_at"`
}
RunnerControllerRunnerLevelScoping represents a runner-level scoping for a GitLab runner controller.
GitLab API docs: https://docs.gitlab.com/api/runner_controllers/#runner-controller-scopes
type RunnerControllerScopes ¶
type RunnerControllerScopes struct {
InstanceLevelScopings []*RunnerControllerInstanceLevelScoping `json:"instance_level_scopings"`
RunnerLevelScopings []*RunnerControllerRunnerLevelScoping `json:"runner_level_scopings"`
}
RunnerControllerScopes represents all scopes configured for a GitLab runner controller.
GitLab API docs: https://docs.gitlab.com/api/runner_controllers/#runner-controller-scopes
type RunnerControllerScopesService ¶
type RunnerControllerScopesService struct {
// contains filtered or unexported fields
}
RunnerControllerScopesService handles communication with the runner controller scopes related methods of the GitLab API. This is an admin-only endpoint.
Note: This API is experimental and may change or be removed in future versions.
GitLab API docs: https://docs.gitlab.com/api/runner_controllers/#runner-controller-scopes
func (*RunnerControllerScopesService) AddRunnerControllerInstanceScope ¶
func (s *RunnerControllerScopesService) AddRunnerControllerInstanceScope(rid int64, options ...RequestOptionFunc) (*RunnerControllerInstanceLevelScoping, *Response, error)
func (*RunnerControllerScopesService) AddRunnerControllerRunnerScope ¶
func (s *RunnerControllerScopesService) AddRunnerControllerRunnerScope(rid, runnerID int64, options ...RequestOptionFunc) (*RunnerControllerRunnerLevelScoping, *Response, error)
func (*RunnerControllerScopesService) ListRunnerControllerScopes ¶
func (s *RunnerControllerScopesService) ListRunnerControllerScopes(rid int64, options ...RequestOptionFunc) (*RunnerControllerScopes, *Response, error)
func (*RunnerControllerScopesService) RemoveRunnerControllerInstanceScope ¶
func (s *RunnerControllerScopesService) RemoveRunnerControllerInstanceScope(rid int64, options ...RequestOptionFunc) (*Response, error)
func (*RunnerControllerScopesService) RemoveRunnerControllerRunnerScope ¶
func (s *RunnerControllerScopesService) RemoveRunnerControllerRunnerScope(rid, runnerID int64, options ...RequestOptionFunc) (*Response, error)
type RunnerControllerScopesServiceInterface ¶
type RunnerControllerScopesServiceInterface interface {
// ListRunnerControllerScopes lists all scopes for a specific runner
// controller. This is an admin-only endpoint.
//
// GitLab API docs:
// https://docs.gitlab.com/api/runner_controllers/#list-all-scopes-for-a-runner-controller
ListRunnerControllerScopes(rid int64, options ...RequestOptionFunc) (*RunnerControllerScopes, *Response, error)
// AddRunnerControllerInstanceScope adds an instance-level scope to a
// runner controller. This is an admin-only endpoint.
//
// GitLab API docs:
// https://docs.gitlab.com/api/runner_controllers/#add-instance-level-scope
AddRunnerControllerInstanceScope(rid int64, options ...RequestOptionFunc) (*RunnerControllerInstanceLevelScoping, *Response, error)
// RemoveRunnerControllerInstanceScope removes an instance-level scope
// from a runner controller. This is an admin-only endpoint.
//
// GitLab API docs:
// https://docs.gitlab.com/api/runner_controllers/#remove-instance-level-scope
RemoveRunnerControllerInstanceScope(rid int64, options ...RequestOptionFunc) (*Response, error)
// AddRunnerControllerRunnerScope adds a runner scope to a runner
// controller. This is an admin-only endpoint. The runner must be an
// instance-level runner.
//
// GitLab API docs:
// https://docs.gitlab.com/api/runner_controllers/#add-runner-scope
AddRunnerControllerRunnerScope(rid, runnerID int64, options ...RequestOptionFunc) (*RunnerControllerRunnerLevelScoping, *Response, error)
// RemoveRunnerControllerRunnerScope removes a runner scope from a runner
// controller. This is an admin-only endpoint.
//
// GitLab API docs:
// https://docs.gitlab.com/api/runner_controllers/#remove-runner-scope
RemoveRunnerControllerRunnerScope(rid, runnerID int64, options ...RequestOptionFunc) (*Response, error)
}
RunnerControllerScopesServiceInterface handles communication with the runner controller scopes related methods of the GitLab API. This is an admin-only endpoint.
Note: This API is experimental and may change or be removed in future versions.
GitLab API docs: https://docs.gitlab.com/api/runner_controllers/#runner-controller-scopes
type RunnerControllerStateValue ¶
type RunnerControllerStateValue string
RunnerControllerStateValue represents the state of a runner controller.
GitLab API docs: https://docs.gitlab.com/api/runner_controllers/
const ( RunnerControllerStateDisabled RunnerControllerStateValue = "disabled" RunnerControllerStateEnabled RunnerControllerStateValue = "enabled" RunnerControllerStateDryRun RunnerControllerStateValue = "dry_run" )
These constants represent all valid runner controller states.
type RunnerControllerToken ¶
type RunnerControllerToken struct {
ID int64 `json:"id"`
RunnerControllerID int64 `json:"runner_controller_id"`
Description string `json:"description"`
LastUsedAt *time.Time `json:"last_used_at"`
Token string `json:"token,omitempty"`
CreatedAt *time.Time `json:"created_at"`
UpdatedAt *time.Time `json:"updated_at"`
}
RunnerControllerToken represents a GitLab runner controller token.
GitLab API docs: https://docs.gitlab.com/api/runner_controller_tokens/
type RunnerControllerTokensService ¶
type RunnerControllerTokensService struct {
// contains filtered or unexported fields
}
RunnerControllerTokensService handles communication with the runner controller token related methods of the GitLab API. This is an admin-only endpoint.
Note: This API is experimental and may change or be removed in future versions.
GitLab API docs: https://docs.gitlab.com/api/runner_controller_tokens/
func (*RunnerControllerTokensService) CreateRunnerControllerToken ¶
func (s *RunnerControllerTokensService) CreateRunnerControllerToken(rid int64, opt *CreateRunnerControllerTokenOptions, options ...RequestOptionFunc) (*RunnerControllerToken, *Response, error)
func (*RunnerControllerTokensService) GetRunnerControllerToken ¶
func (s *RunnerControllerTokensService) GetRunnerControllerToken(rid int64, tokenID int64, options ...RequestOptionFunc) (*RunnerControllerToken, *Response, error)
func (*RunnerControllerTokensService) ListRunnerControllerTokens ¶
func (s *RunnerControllerTokensService) ListRunnerControllerTokens(rid int64, opt *ListRunnerControllerTokensOptions, options ...RequestOptionFunc) ([]*RunnerControllerToken, *Response, error)
func (*RunnerControllerTokensService) RevokeRunnerControllerToken ¶
func (s *RunnerControllerTokensService) RevokeRunnerControllerToken(rid int64, tokenID int64, options ...RequestOptionFunc) (*Response, error)
func (*RunnerControllerTokensService) RotateRunnerControllerToken ¶
func (s *RunnerControllerTokensService) RotateRunnerControllerToken(rid int64, tokenID int64, options ...RequestOptionFunc) (*RunnerControllerToken, *Response, error)
type RunnerControllerTokensServiceInterface ¶
type RunnerControllerTokensServiceInterface interface {
// ListRunnerControllerTokens lists all runner controller tokens. This is an
// admin-only endpoint.
//
// GitLab API docs: https://docs.gitlab.com/api/runner_controller_tokens/#list-all-runner-controller-tokens
ListRunnerControllerTokens(rid int64, opt *ListRunnerControllerTokensOptions, options ...RequestOptionFunc) ([]*RunnerControllerToken, *Response, error)
// GetRunnerControllerToken retrieves a single runner controller token. This
// is an admin-only endpoint.
//
// GitLab API docs: https://docs.gitlab.com/api/runner_controller_tokens/#retrieve-a-single-runner-controller-token
GetRunnerControllerToken(rid int64, tokenID int64, options ...RequestOptionFunc) (*RunnerControllerToken, *Response, error)
// CreateRunnerControllerToken creates a new runner controller token. This is
// an admin-only endpoint.
//
// GitLab API docs: https://docs.gitlab.com/api/runner_controller_tokens/#create-a-runner-controller-token
CreateRunnerControllerToken(rid int64, opt *CreateRunnerControllerTokenOptions, options ...RequestOptionFunc) (*RunnerControllerToken, *Response, error)
// RotateRunnerControllerToken rotates an existing runner controller token.
// This is an admin-only endpoint.
//
// GitLab API docs: https://docs.gitlab.com/api/runner_controller_tokens/#rotate-a-runner-controller-token
RotateRunnerControllerToken(rid int64, tokenID int64, options ...RequestOptionFunc) (*RunnerControllerToken, *Response, error)
// RevokeRunnerControllerToken revokes a runner controller token. This is an
// admin-only endpoint.
//
// GitLab API docs: https://docs.gitlab.com/api/runner_controller_tokens/#revoke-a-runner-controller-token
RevokeRunnerControllerToken(rid int64, tokenID int64, options ...RequestOptionFunc) (*Response, error)
}
RunnerControllerTokensServiceInterface handles communication with the runner controller token related methods of the GitLab API. This is an admin-only endpoint.
Note: This API is experimental and may change or be removed in future versions.
GitLab API docs: https://docs.gitlab.com/api/runner_controller_tokens/
type RunnerControllersService ¶
type RunnerControllersService struct {
// contains filtered or unexported fields
}
RunnerControllersService handles communication with the runner controller related methods of the GitLab API. This is an admin-only endpoint.
Note: This API is experimental and may change or be removed in future versions.
GitLab API docs: https://docs.gitlab.com/api/runner_controllers/
func (*RunnerControllersService) CreateRunnerController ¶
func (s *RunnerControllersService) CreateRunnerController(opt *CreateRunnerControllerOptions, options ...RequestOptionFunc) (*RunnerController, *Response, error)
func (*RunnerControllersService) DeleteRunnerController ¶
func (s *RunnerControllersService) DeleteRunnerController(rid int64, options ...RequestOptionFunc) (*Response, error)
func (*RunnerControllersService) GetRunnerController ¶
func (s *RunnerControllersService) GetRunnerController(rid int64, options ...RequestOptionFunc) (*RunnerControllerDetails, *Response, error)
func (*RunnerControllersService) ListRunnerControllers ¶
func (s *RunnerControllersService) ListRunnerControllers(opt *ListRunnerControllersOptions, options ...RequestOptionFunc) ([]*RunnerController, *Response, error)
func (*RunnerControllersService) UpdateRunnerController ¶
func (s *RunnerControllersService) UpdateRunnerController(rid int64, opt *UpdateRunnerControllerOptions, options ...RequestOptionFunc) (*RunnerController, *Response, error)
type RunnerControllersServiceInterface ¶
type RunnerControllersServiceInterface interface {
// ListRunnerControllers gets a list of runner controllers. This is an
// admin-only endpoint.
//
// GitLab API docs: https://docs.gitlab.com/api/runner_controllers/#list-all-runner-controllers
ListRunnerControllers(opt *ListRunnerControllersOptions, options ...RequestOptionFunc) ([]*RunnerController, *Response, error)
// GetRunnerController retrieves a single runner controller. This is an
// admin-only endpoint.
//
// GitLab API docs: https://docs.gitlab.com/api/runner_controllers/#retrieve-a-single-runner-controller
GetRunnerController(rid int64, options ...RequestOptionFunc) (*RunnerControllerDetails, *Response, error)
// CreateRunnerController registers a new runner controller. This is an
// admin-only endpoint.
//
// GitLab API docs: https://docs.gitlab.com/api/runner_controllers/#register-a-runner-controller
CreateRunnerController(opt *CreateRunnerControllerOptions, options ...RequestOptionFunc) (*RunnerController, *Response, error)
// UpdateRunnerController updates a runner controller. This is an admin-only
// endpoint.
//
// GitLab API docs: https://docs.gitlab.com/api/runner_controllers/#update-a-runner-controller
UpdateRunnerController(rid int64, opt *UpdateRunnerControllerOptions, options ...RequestOptionFunc) (*RunnerController, *Response, error)
// DeleteRunnerController deletes a runner controller. This is an admin-only
// endpoint.
//
// GitLab API docs: https://docs.gitlab.com/api/runner_controllers/#delete-a-runner-controller
DeleteRunnerController(rid int64, options ...RequestOptionFunc) (*Response, error)
}
RunnerControllersServiceInterface handles communication with the runner controller related methods of the GitLab API. This is an admin-only endpoint.
Note: This API is experimental and may change or be removed in future versions.
GitLab API docs: https://docs.gitlab.com/api/runner_controllers/
type RunnerDetails ¶
type RunnerDetails struct {
Paused bool `json:"paused"`
Description string `json:"description"`
ID int64 `json:"id"`
RunnerType string `json:"runner_type"`
ContactedAt *time.Time `json:"contacted_at"`
MaintenanceNote string `json:"maintenance_note"`
Name string `json:"name"`
Online bool `json:"online"`
Status string `json:"status"`
Projects []RunnerDetailsProject `json:"projects"`
Token string `json:"token"`
TagList []string `json:"tag_list"`
RunUntagged bool `json:"run_untagged"`
Locked bool `json:"locked"`
AccessLevel string `json:"access_level"`
MaximumTimeout int64 `json:"maximum_timeout"`
Groups []RunnerDetailsGroup `json:"groups"`
// Deprecated: for removal in v5 of the API, see GraphQL resource CiRunnerManager instead
Architecture string `json:"architecture"`
// Deprecated: for removal in v5 of the API, returns an empty string from 17.0 onwards, see GraphQL resource CiRunnerManager instead
IPAddress string `json:"ip_address"`
// Deprecated: for removal in v5 of the API, see GraphQL resource CiRunnerManager instead
Platform string `json:"platform"`
// Deprecated: for removal in v5 of the API, see GraphQL resource CiRunnerManager instead
Revision string `json:"revision"`
// Deprecated: for removal in v5 of the API, see GraphQL resource CiRunnerManager instead
Version string `json:"version"`
// Deprecated: for removal in v5 of the API, use Paused instead
Active bool `json:"active"`
}
RunnerDetails represents the GitLab CI runner details.
GitLab API docs: https://docs.gitlab.com/api/runners/
type RunnerDetailsGroup ¶
type RunnerDetailsGroup struct {
ID int64 `json:"id"`
Name string `json:"name"`
WebURL string `json:"web_url"`
}
RunnerDetailsGroup represents the GitLab CI runner details group.
GitLab API docs: https://docs.gitlab.com/api/runners/
type RunnerDetailsProject ¶
type RunnerDetailsProject struct {
ID int64 `json:"id"`
Name string `json:"name"`
NameWithNamespace string `json:"name_with_namespace"`
Path string `json:"path"`
PathWithNamespace string `json:"path_with_namespace"`
}
RunnerDetailsProject represents the GitLab CI runner details project.
GitLab API docs: https://docs.gitlab.com/api/runners/
type RunnerManager ¶ added in v2.3.0
type RunnerManager struct {
ID int64 `json:"id"`
SystemID string `json:"system_id"`
Version string `json:"version"`
Revision string `json:"revision"`
Platform string `json:"platform"`
Architecture string `json:"architecture"`
CreatedAt *time.Time `json:"created_at"`
ContactedAt *time.Time `json:"contacted_at"`
IPAddress string `json:"ip_address"`
Status string `json:"status"`
}
RunnerManager represents a GitLab CI runner manager.
GitLab API docs: https://docs.gitlab.com/api/runners/#list-all-runners-managers
type RunnerRegistrationToken ¶
type RunnersService ¶
type RunnersService struct {
// contains filtered or unexported fields
}
RunnersService handles communication with the runner related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/runners/
func (*RunnersService) DeleteRegisteredRunner ¶
func (s *RunnersService) DeleteRegisteredRunner(opt *DeleteRegisteredRunnerOptions, options ...RequestOptionFunc) (*Response, error)
func (*RunnersService) DeleteRegisteredRunnerByID ¶
func (s *RunnersService) DeleteRegisteredRunnerByID(rid int64, options ...RequestOptionFunc) (*Response, error)
func (*RunnersService) DisableProjectRunner ¶
func (s *RunnersService) DisableProjectRunner(pid any, runner int64, options ...RequestOptionFunc) (*Response, error)
func (*RunnersService) EnableProjectRunner ¶
func (s *RunnersService) EnableProjectRunner(pid any, opt *EnableProjectRunnerOptions, options ...RequestOptionFunc) (*Runner, *Response, error)
func (*RunnersService) GetRunnerDetails ¶
func (s *RunnersService) GetRunnerDetails(rid any, options ...RequestOptionFunc) (*RunnerDetails, *Response, error)
func (*RunnersService) ListAllRunners ¶
func (s *RunnersService) ListAllRunners(opt *ListRunnersOptions, options ...RequestOptionFunc) ([]*Runner, *Response, error)
func (*RunnersService) ListGroupsRunners ¶
func (s *RunnersService) ListGroupsRunners(gid any, opt *ListGroupsRunnersOptions, options ...RequestOptionFunc) ([]*Runner, *Response, error)
func (*RunnersService) ListProjectRunners ¶
func (s *RunnersService) ListProjectRunners(pid any, opt *ListProjectRunnersOptions, options ...RequestOptionFunc) ([]*Runner, *Response, error)
func (*RunnersService) ListRunnerJobs ¶
func (s *RunnersService) ListRunnerJobs(rid any, opt *ListRunnerJobsOptions, options ...RequestOptionFunc) ([]*Job, *Response, error)
func (*RunnersService) ListRunnerManagers ¶ added in v2.3.0
func (s *RunnersService) ListRunnerManagers(rid any, options ...RequestOptionFunc) ([]*RunnerManager, *Response, error)
func (*RunnersService) ListRunners ¶
func (s *RunnersService) ListRunners(opt *ListRunnersOptions, options ...RequestOptionFunc) ([]*Runner, *Response, error)
func (*RunnersService) RegisterNewRunner ¶
func (s *RunnersService) RegisterNewRunner(opt *RegisterNewRunnerOptions, options ...RequestOptionFunc) (*Runner, *Response, error)
func (*RunnersService) RemoveRunner ¶
func (s *RunnersService) RemoveRunner(rid any, options ...RequestOptionFunc) (*Response, error)
func (*RunnersService) ResetGroupRunnerRegistrationToken ¶
func (s *RunnersService) ResetGroupRunnerRegistrationToken(gid any, options ...RequestOptionFunc) (*RunnerRegistrationToken, *Response, error)
ResetGroupRunnerRegistrationToken resets a group's runner registration token. Deprecated: for removal in GitLab 20.0, see https://docs.gitlab.com/ci/runners/new_creation_workflow/ instead
GitLab API docs: https://docs.gitlab.com/api/runners/#reset-groups-runner-registration-token
func (*RunnersService) ResetInstanceRunnerRegistrationToken ¶
func (s *RunnersService) ResetInstanceRunnerRegistrationToken(options ...RequestOptionFunc) (*RunnerRegistrationToken, *Response, error)
ResetInstanceRunnerRegistrationToken resets the instance runner registration token. Deprecated: for removal in GitLab 20.0, see https://docs.gitlab.com/ci/runners/new_creation_workflow/ instead
GitLab API docs: https://docs.gitlab.com/api/runners/#reset-instances-runner-registration-token
func (*RunnersService) ResetProjectRunnerRegistrationToken ¶
func (s *RunnersService) ResetProjectRunnerRegistrationToken(pid any, options ...RequestOptionFunc) (*RunnerRegistrationToken, *Response, error)
ResetProjectRunnerRegistrationToken resets a project's runner registration token. Deprecated: for removal in GitLab 20.0, see https://docs.gitlab.com/ci/runners/new_creation_workflow/ instead
GitLab API docs: https://docs.gitlab.com/api/runners/#reset-projects-runner-registration-token
func (*RunnersService) ResetRunnerAuthenticationToken ¶
func (s *RunnersService) ResetRunnerAuthenticationToken(rid int64, options ...RequestOptionFunc) (*RunnerAuthenticationToken, *Response, error)
func (*RunnersService) UpdateRunnerDetails ¶
func (s *RunnersService) UpdateRunnerDetails(rid any, opt *UpdateRunnerDetailsOptions, options ...RequestOptionFunc) (*RunnerDetails, *Response, error)
func (*RunnersService) VerifyRegisteredRunner ¶
func (s *RunnersService) VerifyRegisteredRunner(opt *VerifyRegisteredRunnerOptions, options ...RequestOptionFunc) (*Response, error)
type RunnersServiceInterface ¶
type RunnersServiceInterface interface {
// ListRunners gets a list of runners accessible by the authenticated user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/runners/#list-owned-runners
ListRunners(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/api/runners/#list-all-runners
ListAllRunners(opt *ListRunnersOptions, options ...RequestOptionFunc) ([]*Runner, *Response, error)
// GetRunnerDetails returns details for given runner.
//
// GitLab API docs:
// https://docs.gitlab.com/api/runners/#get-runners-details
GetRunnerDetails(rid any, options ...RequestOptionFunc) (*RunnerDetails, *Response, error)
// UpdateRunnerDetails updates details for a given runner.
//
// GitLab API docs:
// https://docs.gitlab.com/api/runners/#update-runners-details
UpdateRunnerDetails(rid any, opt *UpdateRunnerDetailsOptions, options ...RequestOptionFunc) (*RunnerDetails, *Response, error)
// RemoveRunner removes a runner.
//
// GitLab API docs:
// https://docs.gitlab.com/api/runners/#delete-a-runner
RemoveRunner(rid any, options ...RequestOptionFunc) (*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/api/runners/#list-jobs-processed-by-a-runner
ListRunnerJobs(rid any, opt *ListRunnerJobsOptions, options ...RequestOptionFunc) ([]*Job, *Response, error)
// ListRunnerManagers lists all the managers of a runner.
//
// GitLab API docs:
// https://docs.gitlab.com/api/runners/#list-all-runners-managers
ListRunnerManagers(rid any, options ...RequestOptionFunc) ([]*RunnerManager, *Response, error)
// ListProjectRunners gets a list of runners accessible by the authenticated user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/runners/#list-projects-runners
ListProjectRunners(pid any, opt *ListProjectRunnersOptions, options ...RequestOptionFunc) ([]*Runner, *Response, error)
// EnableProjectRunner enables an available specific runner in the project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/runners/#assign-a-runner-to-project
EnableProjectRunner(pid any, opt *EnableProjectRunnerOptions, options ...RequestOptionFunc) (*Runner, *Response, error)
// DisableProjectRunner disables a specific runner from project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/runners/#unassign-a-runner-from-project
DisableProjectRunner(pid any, runner int64, options ...RequestOptionFunc) (*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/api/runners/#list-groups-runners
ListGroupsRunners(gid any, opt *ListGroupsRunnersOptions, options ...RequestOptionFunc) ([]*Runner, *Response, error)
// RegisterNewRunner registers a new Runner for the instance.
//
// GitLab API docs:
// https://docs.gitlab.com/api/runners/#create-a-runner
RegisterNewRunner(opt *RegisterNewRunnerOptions, options ...RequestOptionFunc) (*Runner, *Response, error)
// DeleteRegisteredRunner deletes a Runner by Token.
//
// GitLab API docs:
// https://docs.gitlab.com/api/runners/#delete-a-runner-by-authentication-token
DeleteRegisteredRunner(opt *DeleteRegisteredRunnerOptions, options ...RequestOptionFunc) (*Response, error)
// DeleteRegisteredRunnerByID deletes a runner by ID.
//
// GitLab API docs:
// https://docs.gitlab.com/api/runners/#delete-a-runner-by-id
DeleteRegisteredRunnerByID(rid int64, options ...RequestOptionFunc) (*Response, error)
// VerifyRegisteredRunner registers a new runner for the instance.
//
// GitLab API docs:
// https://docs.gitlab.com/api/runners/#verify-authentication-for-a-registered-runner
VerifyRegisteredRunner(opt *VerifyRegisteredRunnerOptions, options ...RequestOptionFunc) (*Response, error)
// ResetRunnerAuthenticationToken resets a runner's authentication token.
//
// GitLab API docs:
// https://docs.gitlab.com/api/runners/#reset-runners-authentication-token-by-using-the-runner-id
ResetRunnerAuthenticationToken(rid int64, options ...RequestOptionFunc) (*RunnerAuthenticationToken, *Response, error)
// Deprecated: for removal in GitLab 20.0, see https://docs.gitlab.com/ci/runners/new_creation_workflow/ instead
ResetInstanceRunnerRegistrationToken(options ...RequestOptionFunc) (*RunnerRegistrationToken, *Response, error)
// Deprecated: for removal in GitLab 20.0, see https://docs.gitlab.com/ci/runners/new_creation_workflow/ instead
ResetGroupRunnerRegistrationToken(gid any, options ...RequestOptionFunc) (*RunnerRegistrationToken, *Response, error)
// Deprecated: for removal in GitLab 20.0, see https://docs.gitlab.com/ci/runners/new_creation_workflow/ instead
ResetProjectRunnerRegistrationToken(pid any, options ...RequestOptionFunc) (*RunnerRegistrationToken, *Response, error)
}
type SAMLGroupLink ¶
type SAMLGroupLink struct {
Name string `json:"name"`
AccessLevel AccessLevelValue `json:"access_level"`
MemberRoleID int64 `json:"member_role_id,omitempty"`
Provider string `json:"provider,omitempty"`
}
SAMLGroupLink represents a GitLab SAML group link.
GitLab API docs: https://docs.gitlab.com/api/groups/#saml-group-links
type SSHKey ¶
type SSHKey struct {
ID int64 `json:"id"`
Title string `json:"title"`
Key string `json:"key"`
CreatedAt *time.Time `json:"created_at"`
ExpiresAt *time.Time `json:"expires_at"`
UsageType string `json:"usage_type"`
}
SSHKey represents a SSH key.
GitLab API docs: https://docs.gitlab.com/api/user_keys/#list-all-ssh-keys
type ScheduleAllGroupStorageMovesOptions ¶
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"`
}
ScheduleAllGroupStorageMovesOptions represents the available ScheduleAllStorageMoves() options.
GitLab API docs: https://docs.gitlab.com/api/group_repository_storage_moves/#schedule-repository-storage-moves-for-all-groups-on-a-storage-shard
type ScheduleAllProjectStorageMovesOptions ¶
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"`
}
ScheduleAllProjectStorageMovesOptions represents the available ScheduleAllStorageMoves() options.
GitLab API docs: https://docs.gitlab.com/api/project_repository_storage_moves/#schedule-repository-storage-moves-for-all-projects-on-a-storage-shard
type ScheduleAllSnippetStorageMovesOptions ¶
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"`
}
ScheduleAllSnippetStorageMovesOptions represents the available ScheduleAllStorageMoves() options.
GitLab API docs: https://docs.gitlab.com/api/snippet_repository_storage_moves/#schedule-repository-storage-moves-for-all-snippets-on-a-storage-shard
type ScheduleExportOptions ¶
type ScheduleExportOptions struct {
Description *string `url:"description,omitempty" json:"description,omitempty"`
Upload ScheduleExportUploadOptions `url:"upload,omitempty" json:"upload,omitempty"`
}
ScheduleExportOptions represents the available ScheduleExport() options.
GitLab API docs: https://docs.gitlab.com/api/project_import_export/#schedule-an-export
type ScheduleStorageMoveForGroupOptions ¶
type ScheduleStorageMoveForGroupOptions struct {
DestinationStorageName *string `url:"destination_storage_name,omitempty" json:"destination_storage_name,omitempty"`
}
ScheduleStorageMoveForGroupOptions represents the available ScheduleStorageMoveForGroup() options.
GitLab API docs: https://docs.gitlab.com/api/group_repository_storage_moves/#schedule-a-repository-storage-move-for-a-group
type ScheduleStorageMoveForProjectOptions ¶
type ScheduleStorageMoveForProjectOptions struct {
DestinationStorageName *string `url:"destination_storage_name,omitempty" json:"destination_storage_name,omitempty"`
}
ScheduleStorageMoveForProjectOptions represents the available ScheduleStorageMoveForProject() options.
GitLab API docs: https://docs.gitlab.com/api/project_repository_storage_moves/#schedule-a-repository-storage-move-for-a-project
type ScheduleStorageMoveForSnippetOptions ¶
type ScheduleStorageMoveForSnippetOptions struct {
DestinationStorageName *string `url:"destination_storage_name,omitempty" json:"destination_storage_name,omitempty"`
}
ScheduleStorageMoveForSnippetOptions represents the available ScheduleStorageMoveForSnippet() options.
GitLab API docs: https://docs.gitlab.com/api/snippet_repository_storage_moves/#schedule-a-repository-storage-move-for-a-snippet
type SearchOptions ¶
type SearchOptions struct {
ListOptions
Ref *string `url:"ref,omitempty" json:"ref,omitempty"`
}
SearchOptions represents the available options for all search methods.
GitLab API docs: https://docs.gitlab.com/api/search/
type SearchService ¶
type SearchService struct {
// contains filtered or unexported fields
}
SearchService handles communication with the search related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/search/
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/api/search/#scope-blobs
func (*SearchService) BlobsByGroup ¶
func (s *SearchService) BlobsByGroup(gid any, 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/api/search/#scope-blobs-1
func (*SearchService) BlobsByProject ¶
func (s *SearchService) BlobsByProject(pid any, 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/api/search/#scope-blobs-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/api/search/#scope-commits
func (*SearchService) CommitsByGroup ¶
func (s *SearchService) CommitsByGroup(gid any, 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/api/search/#scope-commits-1
func (*SearchService) CommitsByProject ¶
func (s *SearchService) CommitsByProject(pid any, 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/api/search/#scope-commits-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/api/search/#scope-issues
func (*SearchService) IssuesByGroup ¶
func (s *SearchService) IssuesByGroup(gid any, 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/api/search/#scope-issues-1
func (*SearchService) IssuesByProject ¶
func (s *SearchService) IssuesByProject(pid any, 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/api/search/#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/api/search/#scope-merge_requests
func (*SearchService) MergeRequestsByGroup ¶
func (s *SearchService) MergeRequestsByGroup(gid any, 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/api/search/#scope-merge_requests-1
func (*SearchService) MergeRequestsByProject ¶
func (s *SearchService) MergeRequestsByProject(pid any, 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/api/search/#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/api/search/#scope-milestones
func (*SearchService) MilestonesByGroup ¶
func (s *SearchService) MilestonesByGroup(gid any, 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/api/search/#scope-milestones-1
func (*SearchService) MilestonesByProject ¶
func (s *SearchService) MilestonesByProject(pid any, 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/api/search/#scope-milestones-2
func (*SearchService) NotesByProject ¶
func (s *SearchService) NotesByProject(pid any, 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/api/search/#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/api/search/#scope-projects
func (*SearchService) ProjectsByGroup ¶
func (s *SearchService) ProjectsByGroup(gid any, 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/api/search/#group-search-api
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/api/search/#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/api/search/#scope-users
func (*SearchService) UsersByGroup ¶
func (s *SearchService) UsersByGroup(gid any, 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/api/search/#scope-users-1
func (*SearchService) UsersByProject ¶
func (s *SearchService) UsersByProject(pid any, 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/api/search/#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/api/search/#scope-wiki_blobs
func (*SearchService) WikiBlobsByGroup ¶
func (s *SearchService) WikiBlobsByGroup(gid any, 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/api/search/#scope-wiki_blobs-1
func (*SearchService) WikiBlobsByProject ¶
func (s *SearchService) WikiBlobsByProject(pid any, 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/api/search/#scope-wiki_blobs-2
type SearchServiceInterface ¶
type SearchServiceInterface interface {
Projects(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
ProjectsByGroup(gid any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Project, *Response, error)
Issues(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
IssuesByGroup(gid any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
IssuesByProject(pid any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Issue, *Response, error)
MergeRequests(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)
MergeRequestsByGroup(gid any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)
MergeRequestsByProject(pid any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*MergeRequest, *Response, error)
Milestones(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Milestone, *Response, error)
MilestonesByGroup(gid any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Milestone, *Response, error)
MilestonesByProject(pid any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Milestone, *Response, error)
SnippetTitles(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Snippet, *Response, error)
NotesByProject(pid any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Note, *Response, error)
WikiBlobs(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Wiki, *Response, error)
WikiBlobsByGroup(gid any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Wiki, *Response, error)
WikiBlobsByProject(pid any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Wiki, *Response, error)
Commits(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)
CommitsByGroup(gid any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)
CommitsByProject(pid any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Commit, *Response, error)
Blobs(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Blob, *Response, error)
BlobsByGroup(gid any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Blob, *Response, error)
BlobsByProject(pid any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*Blob, *Response, error)
Users(query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*User, *Response, error)
UsersByGroup(gid any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*User, *Response, error)
UsersByProject(pid any, query string, opt *SearchOptions, options ...RequestOptionFunc) ([]*User, *Response, error)
}
type SecureFile ¶
type SecureFile struct {
ID int64 `json:"id"`
Name string `json:"name"`
Checksum string `json:"checksum"`
ChecksumAlgorithm string `json:"checksum_algorithm"`
CreatedAt *time.Time `json:"created_at"`
ExpiresAt *time.Time `json:"expires_at"`
Metadata *SecureFileMetadata `json:"metadata"`
}
SecureFile represents a single secure file.
GitLab API docs: https://docs.gitlab.com/api/secure_files/
func (SecureFile) String ¶
func (f SecureFile) String() string
String gets a string representation of a SecureFile.
GitLab API docs: https://docs.gitlab.com/api/secure_files/
type SecureFileIssuer ¶
type SecureFileIssuer struct {
C string `json:"C"`
O string `json:"O"`
CN string `json:"CN"`
OU string `json:"OU"`
}
SecureFileIssuer represents the issuer of a secure file.
GitLab API docs: https://docs.gitlab.com/api/secure_files/
type SecureFileMetadata ¶
type SecureFileMetadata struct {
ID string `json:"id"`
Issuer SecureFileIssuer `json:"issuer"`
Subject SecureFileSubject `json:"subject"`
ExpiresAt *time.Time `json:"expires_at"`
}
SecureFileMetadata represents the metadata for a secure file.
GitLab API docs: https://docs.gitlab.com/api/secure_files/
type SecureFileSubject ¶
type SecureFileSubject struct {
C string `json:"C"`
O string `json:"O"`
CN string `json:"CN"`
OU string `json:"OU"`
UID string `json:"UID"`
}
SecureFileSubject represents the subject of a secure file.
GitLab API docs: https://docs.gitlab.com/api/secure_files/
type SecureFilesService ¶
type SecureFilesService struct {
// contains filtered or unexported fields
}
SecureFilesService handles communication with the secure files related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/secure_files/
func (SecureFilesService) CreateSecureFile ¶
func (s SecureFilesService) CreateSecureFile(pid any, content io.Reader, opt *CreateSecureFileOptions, options ...RequestOptionFunc) (*SecureFile, *Response, error)
CreateSecureFile creates a new secure file.
GitLab API docs: https://docs.gitlab.com/api/secure_files/#create-secure-file
func (SecureFilesService) DownloadSecureFile ¶
func (s SecureFilesService) DownloadSecureFile(pid any, id int64, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
DownloadSecureFile downloads the contents of a project's secure file.
The returned io.ReadCloser must be closed by the caller to avoid leaking the underlying response body.
GitLab API docs: https://docs.gitlab.com/api/secure_files/#download-secure-file
func (SecureFilesService) ListProjectSecureFiles ¶
func (s SecureFilesService) ListProjectSecureFiles(pid any, opt *ListProjectSecureFilesOptions, options ...RequestOptionFunc) ([]*SecureFile, *Response, error)
ListProjectSecureFiles gets a list of secure files in a project.
GitLab API docs: https://docs.gitlab.com/api/secure_files/#list-project-secure-files
func (SecureFilesService) RemoveSecureFile ¶
func (s SecureFilesService) RemoveSecureFile(pid any, id int64, options ...RequestOptionFunc) (*Response, error)
RemoveSecureFile removes a project's secure file.
GitLab API docs: https://docs.gitlab.com/api/secure_files/#remove-secure-file
func (SecureFilesService) ShowSecureFileDetails ¶
func (s SecureFilesService) ShowSecureFileDetails(pid any, id int64, options ...RequestOptionFunc) (*SecureFile, *Response, error)
ShowSecureFileDetails gets the details of a specific secure file in a project.
GitLab API docs: https://docs.gitlab.com/api/secure_files/#show-secure-file-details
type SecureFilesServiceInterface ¶
type SecureFilesServiceInterface interface {
ListProjectSecureFiles(pid any, opt *ListProjectSecureFilesOptions, options ...RequestOptionFunc) ([]*SecureFile, *Response, error)
ShowSecureFileDetails(pid any, id int64, options ...RequestOptionFunc) (*SecureFile, *Response, error)
CreateSecureFile(pid any, content io.Reader, opt *CreateSecureFileOptions, options ...RequestOptionFunc) (*SecureFile, *Response, error)
// DownloadSecureFile downloads the contents of a project's secure file.
//
// The returned io.ReadCloser must be closed by the caller to avoid
// leaking the underlying response body.
//
// GitLab API docs:
// https://docs.gitlab.com/api/secure_files/#download-secure-file
DownloadSecureFile(pid any, id int64, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
RemoveSecureFile(pid any, id int64, options ...RequestOptionFunc) (*Response, error)
}
type Service ¶
type Service = Integration
Service represents a GitLab service.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/
type ServiceAccount ¶
type ServiceAccount struct {
ID int64 `json:"id"`
Username string `json:"username"`
Name string `json:"name"`
}
ServiceAccount represents a GitLab service account.
GitLab API docs: https://docs.gitlab.com/api/user_service_accounts/
type ServicePingData ¶
type ServicePingData struct {
RecordedAt *time.Time `json:"recorded_at"`
License map[string]string `json:"license"`
Counts map[string]int64 `json:"counts"`
}
ServicePingData represents a service ping data response.
type ServicePingNonSQLMetrics ¶
type ServicePingNonSQLMetrics struct {
RecordedAt string `json:"recorded_at"`
UUID string `json:"uuid"`
Hostname string `json:"hostname"`
Version string `json:"version"`
InstallationType string `json:"installation_type"`
ActiveUserCount int64 `json:"active_user_count"`
Edition string `json:"edition"`
LicenseMD5 string `json:"license_md5"`
LicenseSHA256 string `json:"license_sha256"`
LicenseID string `json:"license_id"`
HistoricalMaxUsers int64 `json:"historical_max_users"`
Licensee map[string]string `json:"licensee"`
LicenseUserCount int64 `json:"license_user_count"`
LicenseStartsAt string `json:"license_starts_at"`
LicenseExpiresAt string `json:"license_expires_at"`
LicensePlan string `json:"license_plan"`
LicenseAddOns map[string]int64 `json:"license_add_ons"`
LicenseTrial string `json:"license_trial"`
LicenseSubscriptionID string `json:"license_subscription_id"`
License map[string]string `json:"license"`
Settings map[string]string `json:"settings"`
}
ServicePingNonSQLMetrics represents the non-SQL metrics used in service ping.
type ServicePingQueries ¶
type ServicePingQueries struct {
RecordedAt *time.Time `json:"recorded_at"`
UUID string `json:"uuid"`
Hostname string `json:"hostname"`
Version string `json:"version"`
InstallationType string `json:"installation_type"`
ActiveUserCount string `json:"active_user_count"`
Edition string `json:"edition"`
LicenseMD5 string `json:"license_md5"`
LicenseSHA256 string `json:"license_sha256"`
LicenseID string `json:"license_id"`
HistoricalMaxUsers int64 `json:"historical_max_users"`
Licensee map[string]string `json:"licensee"`
LicenseUserCount int64 `json:"license_user_count"`
LicenseStartsAt string `json:"license_starts_at"`
LicenseExpiresAt string `json:"license_expires_at"`
LicensePlan string `json:"license_plan"`
LicenseAddOns map[string]int64 `json:"license_add_ons"`
LicenseTrial string `json:"license_trial"`
LicenseSubscriptionID string `json:"license_subscription_id"`
License map[string]string `json:"license"`
Settings map[string]string `json:"settings"`
Counts map[string]string `json:"counts"`
}
ServicePingQueries represents the raw service ping SQL queries.
type ServicesService ¶
type ServicesService struct {
// contains filtered or unexported fields
}
ServicesService handles communication with the services related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/
func (*ServicesService) DeleteCustomIssueTrackerService ¶
func (s *ServicesService) DeleteCustomIssueTrackerService(pid any, options ...RequestOptionFunc) (*Response, error)
DeleteCustomIssueTrackerService deletes Custom Issue Tracker service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-a-custom-issue-tracker
func (*ServicesService) DeleteDataDogService ¶
func (s *ServicesService) DeleteDataDogService(pid any, options ...RequestOptionFunc) (*Response, error)
DeleteDataDogService deletes the DataDog service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-datadog
func (*ServicesService) DeleteDiscordService ¶
func (s *ServicesService) DeleteDiscordService(pid any, options ...RequestOptionFunc) (*Response, error)
DeleteDiscordService deletes Discord service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-discord-notifications
func (*ServicesService) DeleteDroneCIService ¶
func (s *ServicesService) DeleteDroneCIService(pid any, options ...RequestOptionFunc) (*Response, error)
DeleteDroneCIService deletes Drone CI service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-drone
func (*ServicesService) DeleteEmailsOnPushService ¶
func (s *ServicesService) DeleteEmailsOnPushService(pid any, options ...RequestOptionFunc) (*Response, error)
DeleteEmailsOnPushService deletes Emails on Push service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-emails-on-push
func (*ServicesService) DeleteExternalWikiService ¶
func (s *ServicesService) DeleteExternalWikiService(pid any, options ...RequestOptionFunc) (*Response, error)
DeleteExternalWikiService deletes External Wiki service for project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-an-external-wiki
func (*ServicesService) DeleteGithubService ¶
func (s *ServicesService) DeleteGithubService(pid any, options ...RequestOptionFunc) (*Response, error)
DeleteGithubService deletes Github service for a project
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-github
func (*ServicesService) DeleteHarborService ¶
func (s *ServicesService) DeleteHarborService(pid any, options ...RequestOptionFunc) (*Response, error)
DeleteHarborService deletes Harbor service for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-harbor
func (*ServicesService) DeleteJenkinsCIService ¶
func (s *ServicesService) DeleteJenkinsCIService(pid any, options ...RequestOptionFunc) (*Response, error)
DeleteJenkinsCIService deletes Jenkins CI service for project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-jenkins
func (*ServicesService) DeleteJiraService ¶
func (s *ServicesService) DeleteJiraService(pid any, options ...RequestOptionFunc) (*Response, error)
DeleteJiraService deletes Jira service for project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-jira
func (*ServicesService) DeleteMatrixService ¶
func (s *ServicesService) DeleteMatrixService(pid any, options ...RequestOptionFunc) (*Response, error)
DeleteMatrixService deletes Matrix service for project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-matrix-notifications
func (*ServicesService) DeleteMattermostService ¶
func (s *ServicesService) DeleteMattermostService(pid any, options ...RequestOptionFunc) (*Response, error)
DeleteMattermostService deletes Mattermost service for project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-mattermost-notifications
func (*ServicesService) DeleteMattermostSlashCommandsService ¶
func (s *ServicesService) DeleteMattermostSlashCommandsService(pid any, options ...RequestOptionFunc) (*Response, error)
DeleteMattermostSlashCommandsService deletes Mattermost slash commands service for project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-mattermost-slash-commands
func (*ServicesService) DeleteMicrosoftTeamsService ¶
func (s *ServicesService) DeleteMicrosoftTeamsService(pid any, options ...RequestOptionFunc) (*Response, error)
DeleteMicrosoftTeamsService deletes Microsoft Teams service for project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-microsoft-teams-notifications
func (*ServicesService) DeletePipelinesEmailService ¶
func (s *ServicesService) DeletePipelinesEmailService(pid any, options ...RequestOptionFunc) (*Response, error)
DeletePipelinesEmailService deletes Pipelines Email service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-pipeline-status-emails
func (*ServicesService) DeleteRedmineService ¶
func (s *ServicesService) DeleteRedmineService(pid any, options ...RequestOptionFunc) (*Response, error)
DeleteRedmineService deletes Redmine service for project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-redmine
func (*ServicesService) DeleteSlackService ¶
func (s *ServicesService) DeleteSlackService(pid any, options ...RequestOptionFunc) (*Response, error)
DeleteSlackService deletes Slack service for project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-slack-notifications
func (*ServicesService) DeleteSlackSlashCommandsService ¶
func (s *ServicesService) DeleteSlackSlashCommandsService(pid any, options ...RequestOptionFunc) (*Response, error)
DeleteSlackSlashCommandsService deletes Slack slash commands service for project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-slack-slash-commands
func (*ServicesService) DeleteTelegramService ¶
func (s *ServicesService) DeleteTelegramService(pid any, options ...RequestOptionFunc) (*Response, error)
DeleteTelegramService deletes Telegram service for project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-telegram
func (*ServicesService) DeleteYouTrackService ¶
func (s *ServicesService) DeleteYouTrackService(pid any, options ...RequestOptionFunc) (*Response, error)
DeleteYouTrackService deletes YouTrack service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-youtrack
func (*ServicesService) DisableSlackApplication ¶
func (s *ServicesService) DisableSlackApplication(pid any, options ...RequestOptionFunc) (*Response, error)
DisableSlackApplication disable the GitLab for Slack app integration for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#disable-gitlab-for-slack-app
func (*ServicesService) GetCustomIssueTrackerService ¶
func (s *ServicesService) GetCustomIssueTrackerService(pid any, options ...RequestOptionFunc) (*CustomIssueTrackerService, *Response, error)
GetCustomIssueTrackerService gets Custom Issue Tracker service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-custom-issue-tracker-settings
func (*ServicesService) GetDataDogService ¶
func (s *ServicesService) GetDataDogService(pid any, options ...RequestOptionFunc) (*DataDogService, *Response, error)
GetDataDogService gets DataDog service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-datadog-settings
func (*ServicesService) GetDiscordService ¶
func (s *ServicesService) GetDiscordService(pid any, options ...RequestOptionFunc) (*DiscordService, *Response, error)
GetDiscordService gets Discord service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-discord-notifications-settings
func (*ServicesService) GetDroneCIService ¶
func (s *ServicesService) GetDroneCIService(pid any, options ...RequestOptionFunc) (*DroneCIService, *Response, error)
GetDroneCIService gets Drone CI service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-drone-settings
func (*ServicesService) GetEmailsOnPushService ¶
func (s *ServicesService) GetEmailsOnPushService(pid any, options ...RequestOptionFunc) (*EmailsOnPushService, *Response, error)
GetEmailsOnPushService gets Emails on Push service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-emails-on-push-settings
func (*ServicesService) GetExternalWikiService ¶
func (s *ServicesService) GetExternalWikiService(pid any, options ...RequestOptionFunc) (*ExternalWikiService, *Response, error)
GetExternalWikiService gets External Wiki service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-external-wiki-settings
func (*ServicesService) GetGithubService ¶
func (s *ServicesService) GetGithubService(pid any, options ...RequestOptionFunc) (*GithubService, *Response, error)
GetGithubService gets Github service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-github-settings
func (*ServicesService) GetHarborService ¶
func (s *ServicesService) GetHarborService(pid any, options ...RequestOptionFunc) (*HarborService, *Response, error)
GetHarborService gets Harbor service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-harbor-settings
func (*ServicesService) GetJenkinsCIService ¶
func (s *ServicesService) GetJenkinsCIService(pid any, options ...RequestOptionFunc) (*JenkinsCIService, *Response, error)
GetJenkinsCIService gets Jenkins CI service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-jenkins-settings
func (*ServicesService) GetJiraService ¶
func (s *ServicesService) GetJiraService(pid any, options ...RequestOptionFunc) (*JiraService, *Response, error)
GetJiraService gets Jira service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-jira-settings
func (*ServicesService) GetMatrixService ¶
func (s *ServicesService) GetMatrixService(pid any, options ...RequestOptionFunc) (*MatrixService, *Response, error)
GetMatrixService gets Matrix service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-matrix-notifications-settings
func (*ServicesService) GetMattermostService ¶
func (s *ServicesService) GetMattermostService(pid any, options ...RequestOptionFunc) (*MattermostService, *Response, error)
GetMattermostService gets Mattermost service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-mattermost-notifications-settings
func (*ServicesService) GetMattermostSlashCommandsService ¶
func (s *ServicesService) GetMattermostSlashCommandsService(pid any, options ...RequestOptionFunc) (*MattermostSlashCommandsService, *Response, error)
GetMattermostSlashCommandsService gets Slack Mattermost commands service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-mattermost-slash-commands-settings
func (*ServicesService) GetMicrosoftTeamsService ¶
func (s *ServicesService) GetMicrosoftTeamsService(pid any, options ...RequestOptionFunc) (*MicrosoftTeamsService, *Response, error)
GetMicrosoftTeamsService gets MicrosoftTeams service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-microsoft-teams-notifications-settings
func (*ServicesService) GetPipelinesEmailService ¶
func (s *ServicesService) GetPipelinesEmailService(pid any, options ...RequestOptionFunc) (*PipelinesEmailService, *Response, error)
GetPipelinesEmailService gets Pipelines Email service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-pipeline-status-emails-settings
func (*ServicesService) GetRedmineService ¶
func (s *ServicesService) GetRedmineService(pid any, options ...RequestOptionFunc) (*RedmineService, *Response, error)
GetRedmineService gets Redmine service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-redmine-settings
func (*ServicesService) GetSlackApplication ¶
func (s *ServicesService) GetSlackApplication(pid any, options ...RequestOptionFunc) (*SlackApplication, *Response, error)
GetSlackApplication gets the GitLab for Slack app integration settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-gitlab-for-slack-app-settings
func (*ServicesService) GetSlackService ¶
func (s *ServicesService) GetSlackService(pid any, options ...RequestOptionFunc) (*SlackService, *Response, error)
GetSlackService gets Slack service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-slack-notifications-settings
func (*ServicesService) GetSlackSlashCommandsService ¶
func (s *ServicesService) GetSlackSlashCommandsService(pid any, options ...RequestOptionFunc) (*SlackSlashCommandsService, *Response, error)
GetSlackSlashCommandsService gets Slack slash commands service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-slack-slash-commands-settings
func (*ServicesService) GetTelegramService ¶
func (s *ServicesService) GetTelegramService(pid any, options ...RequestOptionFunc) (*TelegramService, *Response, error)
GetTelegramService gets MicrosoftTeams service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-telegram-settings
func (*ServicesService) GetYouTrackService ¶
func (s *ServicesService) GetYouTrackService(pid any, options ...RequestOptionFunc) (*YouTrackService, *Response, error)
GetYouTrackService gets YouTrack service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#get-youtrack-settings
func (*ServicesService) ListServices ¶
func (s *ServicesService) ListServices(pid any, options ...RequestOptionFunc) ([]*Service, *Response, error)
ListServices gets a list of all active services.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#list-all-active-integrations
func (*ServicesService) SetCustomIssueTrackerService ¶
func (s *ServicesService) SetCustomIssueTrackerService(pid any, opt *SetCustomIssueTrackerServiceOptions, options ...RequestOptionFunc) (*CustomIssueTrackerService, *Response, error)
SetCustomIssueTrackerService sets Custom Issue Tracker service for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-a-custom-issue-tracker
func (*ServicesService) SetDataDogService ¶
func (s *ServicesService) SetDataDogService(pid any, opt *SetDataDogServiceOptions, options ...RequestOptionFunc) (*DataDogService, *Response, error)
SetDataDogService sets DataDog service settings for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-datadog
func (*ServicesService) SetDiscordService ¶
func (s *ServicesService) SetDiscordService(pid any, opt *SetDiscordServiceOptions, options ...RequestOptionFunc) (*DiscordService, *Response, error)
SetDiscordService sets Discord service for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-discord-notifications
func (*ServicesService) SetDroneCIService ¶
func (s *ServicesService) SetDroneCIService(pid any, opt *SetDroneCIServiceOptions, options ...RequestOptionFunc) (*DroneCIService, *Response, error)
SetDroneCIService sets Drone CI service for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-drone
func (*ServicesService) SetEmailsOnPushService ¶
func (s *ServicesService) SetEmailsOnPushService(pid any, opt *SetEmailsOnPushServiceOptions, options ...RequestOptionFunc) (*EmailsOnPushService, *Response, error)
SetEmailsOnPushService sets Emails on Push service for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-emails-on-push
func (*ServicesService) SetExternalWikiService ¶
func (s *ServicesService) SetExternalWikiService(pid any, opt *SetExternalWikiServiceOptions, options ...RequestOptionFunc) (*ExternalWikiService, *Response, error)
SetExternalWikiService sets External Wiki service for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-an-external-wiki
func (*ServicesService) SetGithubService ¶
func (s *ServicesService) SetGithubService(pid any, opt *SetGithubServiceOptions, options ...RequestOptionFunc) (*GithubService, *Response, error)
SetGithubService sets Github service for a project
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-github
func (*ServicesService) SetHarborService ¶
func (s *ServicesService) SetHarborService(pid any, opt *SetHarborServiceOptions, options ...RequestOptionFunc) (*HarborService, *Response, error)
SetHarborService sets Harbor service for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-harbor
func (*ServicesService) SetJenkinsCIService ¶
func (s *ServicesService) SetJenkinsCIService(pid any, opt *SetJenkinsCIServiceOptions, options ...RequestOptionFunc) (*JenkinsCIService, *Response, error)
SetJenkinsCIService sets Jenkins service for a project
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-jenkins
func (*ServicesService) SetJiraService ¶
func (s *ServicesService) SetJiraService(pid any, opt *SetJiraServiceOptions, options ...RequestOptionFunc) (*JiraService, *Response, error)
SetJiraService sets Jira service for a project
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-jira-issues
func (*ServicesService) SetMatrixService ¶
func (s *ServicesService) SetMatrixService(pid any, opt *SetMatrixServiceOptions, options ...RequestOptionFunc) (*MatrixService, *Response, error)
SetMatrixService sets Matrix service for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-matrix-notifications
func (*ServicesService) SetMattermostService ¶
func (s *ServicesService) SetMattermostService(pid any, opt *SetMattermostServiceOptions, options ...RequestOptionFunc) (*MattermostService, *Response, error)
SetMattermostService sets Mattermost service for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-mattermost-notifications
func (*ServicesService) SetMattermostSlashCommandsService ¶
func (s *ServicesService) SetMattermostSlashCommandsService(pid any, opt *SetMattermostSlashCommandsServiceOptions, options ...RequestOptionFunc) (*MattermostSlashCommandsService, *Response, error)
SetMattermostSlashCommandsService sets Mattermost slash commands service for a project
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-mattermost-slash-commands
func (*ServicesService) SetMicrosoftTeamsService ¶
func (s *ServicesService) SetMicrosoftTeamsService(pid any, opt *SetMicrosoftTeamsServiceOptions, options ...RequestOptionFunc) (*MicrosoftTeamsService, *Response, error)
SetMicrosoftTeamsService sets Microsoft Teams service for a project
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-microsoft-teams-notifications
func (*ServicesService) SetPipelinesEmailService ¶
func (s *ServicesService) SetPipelinesEmailService(pid any, opt *SetPipelinesEmailServiceOptions, options ...RequestOptionFunc) (*PipelinesEmailService, *Response, error)
SetPipelinesEmailService sets Pipelines Email service for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-pipeline-status-emails
func (*ServicesService) SetRedmineService ¶
func (s *ServicesService) SetRedmineService(pid any, opt *SetRedmineServiceOptions, options ...RequestOptionFunc) (*RedmineService, *Response, error)
SetRedmineService sets Redmine service for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-redmine
func (*ServicesService) SetSlackApplication ¶
func (s *ServicesService) SetSlackApplication(pid any, opt *SetSlackApplicationOptions, options ...RequestOptionFunc) (*SlackApplication, *Response, error)
SetSlackApplication update the GitLab for Slack app integration for a project.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-gitlab-for-slack-app
func (*ServicesService) SetSlackService ¶
func (s *ServicesService) SetSlackService(pid any, opt *SetSlackServiceOptions, options ...RequestOptionFunc) (*SlackService, *Response, error)
SetSlackService sets Slack service for a project
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-slack-notifications
func (*ServicesService) SetSlackSlashCommandsService ¶
func (s *ServicesService) SetSlackSlashCommandsService(pid any, opt *SetSlackSlashCommandsServiceOptions, options ...RequestOptionFunc) (*SlackSlashCommandsService, *Response, error)
SetSlackSlashCommandsService sets Slack slash commands service for a project
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-slack-slash-commands
func (*ServicesService) SetTelegramService ¶
func (s *ServicesService) SetTelegramService(pid any, opt *SetTelegramServiceOptions, options ...RequestOptionFunc) (*TelegramService, *Response, error)
SetTelegramService sets Telegram service for a project
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-telegram
func (*ServicesService) SetYouTrackService ¶
func (s *ServicesService) SetYouTrackService(pid any, opt *SetYouTrackServiceOptions, options ...RequestOptionFunc) (*YouTrackService, *Response, error)
SetYouTrackService sets YouTrack service for a project
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-youtrack
type ServicesServiceInterface ¶
type ServicesServiceInterface interface {
ListServices(pid any, options ...RequestOptionFunc) ([]*Service, *Response, error)
GetCustomIssueTrackerService(pid any, options ...RequestOptionFunc) (*CustomIssueTrackerService, *Response, error)
SetCustomIssueTrackerService(pid any, opt *SetCustomIssueTrackerServiceOptions, options ...RequestOptionFunc) (*CustomIssueTrackerService, *Response, error)
DeleteCustomIssueTrackerService(pid any, options ...RequestOptionFunc) (*Response, error)
GetDataDogService(pid any, options ...RequestOptionFunc) (*DataDogService, *Response, error)
SetDataDogService(pid any, opt *SetDataDogServiceOptions, options ...RequestOptionFunc) (*DataDogService, *Response, error)
DeleteDataDogService(pid any, options ...RequestOptionFunc) (*Response, error)
GetDiscordService(pid any, options ...RequestOptionFunc) (*DiscordService, *Response, error)
SetDiscordService(pid any, opt *SetDiscordServiceOptions, options ...RequestOptionFunc) (*DiscordService, *Response, error)
DeleteDiscordService(pid any, options ...RequestOptionFunc) (*Response, error)
GetDroneCIService(pid any, options ...RequestOptionFunc) (*DroneCIService, *Response, error)
SetDroneCIService(pid any, opt *SetDroneCIServiceOptions, options ...RequestOptionFunc) (*DroneCIService, *Response, error)
DeleteDroneCIService(pid any, options ...RequestOptionFunc) (*Response, error)
GetEmailsOnPushService(pid any, options ...RequestOptionFunc) (*EmailsOnPushService, *Response, error)
SetEmailsOnPushService(pid any, opt *SetEmailsOnPushServiceOptions, options ...RequestOptionFunc) (*EmailsOnPushService, *Response, error)
DeleteEmailsOnPushService(pid any, options ...RequestOptionFunc) (*Response, error)
GetExternalWikiService(pid any, options ...RequestOptionFunc) (*ExternalWikiService, *Response, error)
SetExternalWikiService(pid any, opt *SetExternalWikiServiceOptions, options ...RequestOptionFunc) (*ExternalWikiService, *Response, error)
DeleteExternalWikiService(pid any, options ...RequestOptionFunc) (*Response, error)
GetGithubService(pid any, options ...RequestOptionFunc) (*GithubService, *Response, error)
SetGithubService(pid any, opt *SetGithubServiceOptions, options ...RequestOptionFunc) (*GithubService, *Response, error)
DeleteGithubService(pid any, options ...RequestOptionFunc) (*Response, error)
GetHarborService(pid any, options ...RequestOptionFunc) (*HarborService, *Response, error)
SetHarborService(pid any, opt *SetHarborServiceOptions, options ...RequestOptionFunc) (*HarborService, *Response, error)
DeleteHarborService(pid any, options ...RequestOptionFunc) (*Response, error)
GetSlackApplication(pid any, options ...RequestOptionFunc) (*SlackApplication, *Response, error)
SetSlackApplication(pid any, opt *SetSlackApplicationOptions, options ...RequestOptionFunc) (*SlackApplication, *Response, error)
DisableSlackApplication(pid any, options ...RequestOptionFunc) (*Response, error)
GetJenkinsCIService(pid any, options ...RequestOptionFunc) (*JenkinsCIService, *Response, error)
SetJenkinsCIService(pid any, opt *SetJenkinsCIServiceOptions, options ...RequestOptionFunc) (*JenkinsCIService, *Response, error)
DeleteJenkinsCIService(pid any, options ...RequestOptionFunc) (*Response, error)
GetJiraService(pid any, options ...RequestOptionFunc) (*JiraService, *Response, error)
SetJiraService(pid any, opt *SetJiraServiceOptions, options ...RequestOptionFunc) (*JiraService, *Response, error)
DeleteJiraService(pid any, options ...RequestOptionFunc) (*Response, error)
GetMatrixService(pid any, options ...RequestOptionFunc) (*MatrixService, *Response, error)
SetMatrixService(pid any, opt *SetMatrixServiceOptions, options ...RequestOptionFunc) (*MatrixService, *Response, error)
DeleteMatrixService(pid any, options ...RequestOptionFunc) (*Response, error)
GetMattermostService(pid any, options ...RequestOptionFunc) (*MattermostService, *Response, error)
SetMattermostService(pid any, opt *SetMattermostServiceOptions, options ...RequestOptionFunc) (*MattermostService, *Response, error)
DeleteMattermostService(pid any, options ...RequestOptionFunc) (*Response, error)
GetMattermostSlashCommandsService(pid any, options ...RequestOptionFunc) (*MattermostSlashCommandsService, *Response, error)
SetMattermostSlashCommandsService(pid any, opt *SetMattermostSlashCommandsServiceOptions, options ...RequestOptionFunc) (*MattermostSlashCommandsService, *Response, error)
DeleteMattermostSlashCommandsService(pid any, options ...RequestOptionFunc) (*Response, error)
GetMicrosoftTeamsService(pid any, options ...RequestOptionFunc) (*MicrosoftTeamsService, *Response, error)
SetMicrosoftTeamsService(pid any, opt *SetMicrosoftTeamsServiceOptions, options ...RequestOptionFunc) (*MicrosoftTeamsService, *Response, error)
DeleteMicrosoftTeamsService(pid any, options ...RequestOptionFunc) (*Response, error)
GetPipelinesEmailService(pid any, options ...RequestOptionFunc) (*PipelinesEmailService, *Response, error)
SetPipelinesEmailService(pid any, opt *SetPipelinesEmailServiceOptions, options ...RequestOptionFunc) (*PipelinesEmailService, *Response, error)
DeletePipelinesEmailService(pid any, options ...RequestOptionFunc) (*Response, error)
GetRedmineService(pid any, options ...RequestOptionFunc) (*RedmineService, *Response, error)
SetRedmineService(pid any, opt *SetRedmineServiceOptions, options ...RequestOptionFunc) (*RedmineService, *Response, error)
DeleteRedmineService(pid any, options ...RequestOptionFunc) (*Response, error)
GetSlackService(pid any, options ...RequestOptionFunc) (*SlackService, *Response, error)
SetSlackService(pid any, opt *SetSlackServiceOptions, options ...RequestOptionFunc) (*SlackService, *Response, error)
DeleteSlackService(pid any, options ...RequestOptionFunc) (*Response, error)
GetSlackSlashCommandsService(pid any, options ...RequestOptionFunc) (*SlackSlashCommandsService, *Response, error)
SetSlackSlashCommandsService(pid any, opt *SetSlackSlashCommandsServiceOptions, options ...RequestOptionFunc) (*SlackSlashCommandsService, *Response, error)
DeleteSlackSlashCommandsService(pid any, options ...RequestOptionFunc) (*Response, error)
GetTelegramService(pid any, options ...RequestOptionFunc) (*TelegramService, *Response, error)
SetTelegramService(pid any, opt *SetTelegramServiceOptions, options ...RequestOptionFunc) (*TelegramService, *Response, error)
DeleteTelegramService(pid any, options ...RequestOptionFunc) (*Response, error)
GetYouTrackService(pid any, options ...RequestOptionFunc) (*YouTrackService, *Response, error)
SetYouTrackService(pid any, opt *SetYouTrackServiceOptions, options ...RequestOptionFunc) (*YouTrackService, *Response, error)
DeleteYouTrackService(pid any, options ...RequestOptionFunc) (*Response, error)
}
type SetCommitStatusOptions ¶
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 *int64 `url:"pipeline_id,omitempty" json:"pipeline_id,omitempty"`
}
SetCommitStatusOptions represents the available SetCommitStatus() options.
GitLab API docs: https://docs.gitlab.com/api/commits/#set-the-pipeline-status-of-a-commit
type SetCustomIssueTrackerServiceOptions ¶
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"`
}
SetCustomIssueTrackerServiceOptions represents the available SetCustomIssueTrackerService() options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-a-custom-issue-tracker
type SetDataDogServiceOptions ¶
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"`
DataDogCIVisibility *bool `url:"datadog_ci_visibility,omitempty" json:"datadog_ci_visibility,omitempty"`
UseInheritedSettings *bool `url:"use_inherited_settings,omitempty" json:"use_inherited_settings,omitempty"`
}
SetDataDogServiceOptions represents the available SetDataDogService() options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-datadog
type SetDiscordServiceOptions ¶
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"`
ConfidentialIssuesChannel *string `url:"confidential_issue_channel,omitempty" json:"confidential_issue_channel,omitempty"`
ConfidentialNoteEvents *bool `url:"confidential_note_events,omitempty" json:"confidential_note_events,omitempty"`
ConfidentialNoteChannel *string `url:"confidential_note_channel,omitempty" json:"confidential_note_channel,omitempty"`
DeploymentEvents *bool `url:"deployment_events,omitempty" json:"deployment_events,omitempty"`
DeploymentChannel *string `url:"deployment_channel,omitempty" json:"deployment_channel,omitempty"`
GroupConfidentialMentionsEvents *bool `url:"group_confidential_mentions_events,omitempty" json:"group_confidential_mentions_events,omitempty"`
GroupConfidentialMentionsChannel *string `url:"group_confidential_mentions_channel,omitempty" json:"group_confidential_mentions_channel,omitempty"`
GroupMentionsEvents *bool `url:"group_mentions_events,omitempty" json:"group_mentions_events,omitempty"`
GroupMentionsChannel *string `url:"group_mentions_channel,omitempty" json:"group_mentions_channel,omitempty"`
IssuesEvents *bool `url:"issues_events,omitempty" json:"issues_events,omitempty"`
IssueChannel *string `url:"issue_channel,omitempty" json:"issue_channel,omitempty"`
MergeRequestsEvents *bool `url:"merge_requests_events,omitempty" json:"merge_requests_events,omitempty"`
MergeRequestChannel *string `url:"merge_request_channel,omitempty" json:"merge_request_channel,omitempty"`
NoteEvents *bool `url:"note_events,omitempty" json:"note_events,omitempty"`
NoteChannel *string `url:"note_channel,omitempty" json:"note_channel,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"`
PipelineChannel *string `url:"pipeline_channel,omitempty" json:"pipeline_channel,omitempty"`
PushEvents *bool `url:"push_events,omitempty" json:"push_events,omitempty"`
PushChannel *string `url:"push_channel,omitempty" json:"push_channel,omitempty"`
TagPushEvents *bool `url:"tag_push_events,omitempty" json:"tag_push_events,omitempty"`
TagPushChannel *string `url:"tag_push_channel,omitempty" json:"tag_push_channel,omitempty"`
WikiPageEvents *bool `url:"wiki_page_events,omitempty" json:"wiki_page_events,omitempty"`
WikiPageChannel *string `url:"wiki_page_channel,omitempty" json:"wiki_page_channel,omitempty"`
}
SetDiscordServiceOptions represents the available SetDiscordService() options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-discord-notifications
type SetDroneCIServiceOptions ¶
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"`
}
SetDroneCIServiceOptions represents the available SetDroneCIService() options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-drone
type SetEmailsOnPushServiceOptions ¶
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"`
}
SetEmailsOnPushServiceOptions represents the available SetEmailsOnPushService() options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-emails-on-push
type SetExternalStatusCheckStatusOptions ¶
type SetExternalStatusCheckStatusOptions struct {
SHA *string `url:"sha,omitempty" json:"sha,omitempty"`
ExternalStatusCheckID *int64 `url:"external_status_check_id,omitempty" json:"external_status_check_id,omitempty"`
Status *string `url:"status,omitempty" json:"status,omitempty"`
}
SetExternalStatusCheckStatusOptions represents the available SetExternalStatusCheckStatus() options. Deprecated: to be removed in 1.0; use SetProjectMergeRequestExternalStatusCheckStatusOptions instead
GitLab API docs: https://docs.gitlab.com/api/status_checks/#set-status-of-an-external-status-check
type SetExternalWikiServiceOptions ¶
type SetExternalWikiServiceOptions struct {
ExternalWikiURL *string `url:"external_wiki_url,omitempty" json:"external_wiki_url,omitempty"`
}
SetExternalWikiServiceOptions represents the available SetExternalWikiService() options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-an-external-wiki
type SetFeatureFlagOptions ¶
type SetFeatureFlagOptions struct {
Value any `url:"value" json:"value"`
Key string `url:"key" json:"key"`
FeatureGroup string `url:"feature_group" json:"feature_group"`
User string `url:"user" json:"user"`
Group string `url:"group" json:"group"`
Namespace string `url:"namespace" json:"namespace"`
Project string `url:"project" json:"project"`
Repository string `url:"repository" json:"repository"`
Force bool `url:"force" json:"force"`
}
SetFeatureFlagOptions represents the available options for SetFeatureFlag().
GitLab API docs: https://docs.gitlab.com/api/features/#set-or-create-a-feature
type SetGithubServiceOptions ¶
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"`
}
SetGithubServiceOptions represents the available SetGithubService() options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-github
type SetGroupSlackOptions ¶
type SetGroupSlackOptions 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"`
NotifyOnlyWhenPipelineStatusChanges *bool `url:"notify_only_when_pipeline_status_changes,omitempty" json:"notify_only_when_pipeline_status_changes,omitempty"`
BranchesToBeNotified *string `url:"branches_to_be_notified,omitempty" json:"branches_to_be_notified,omitempty"`
LabelsToBeNotified *string `url:"labels_to_be_notified,omitempty" json:"labels_to_be_notified,omitempty"`
LabelsToBeNotifiedBehavior *string `url:"labels_to_be_notified_behavior,omitempty" json:"labels_to_be_notified_behavior,omitempty"`
AlertEvents *bool `url:"alert_events,omitempty" json:"alert_events,omitempty"`
CommitEvents *bool `url:"commit_events,omitempty" json:"commit_events,omitempty"`
PushChannel *string `url:"push_channel,omitempty" json:"push_channel,omitempty"`
PushEvents *bool `url:"push_events,omitempty" json:"push_events,omitempty"`
IssueChannel *string `url:"issue_channel,omitempty" json:"issue_channel,omitempty"`
IssuesEvents *bool `url:"issues_events,omitempty" json:"issues_events,omitempty"`
JobEvents *bool `url:"job_events,omitempty" json:"job_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"`
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"`
ConfidentialNoteChannel *string `url:"confidential_note_channel,omitempty" json:"confidential_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"`
TagPushEvents *bool `url:"tag_push_events,omitempty" json:"tag_push_events,omitempty"`
PipelineChannel *string `url:"pipeline_channel,omitempty" json:"pipeline_channel,omitempty"`
PipelineEvents *bool `url:"pipeline_events,omitempty" json:"pipeline_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"`
DeploymentChannel *string `url:"deployment_channel,omitempty" json:"deployment_channel,omitempty"`
DeploymentEvents *bool `url:"deployment_events,omitempty" json:"deployment_events,omitempty"`
IncidentChannel *string `url:"incident_channel,omitempty" json:"incident_channel,omitempty"`
IncidentEvents *bool `url:"incident_events,omitempty" json:"incident_events,omitempty"`
AlertChannel *string `url:"alert_channel,omitempty" json:"alert_channel,omitempty"`
GroupMentionChannel *string `url:"group_mention_channel,omitempty" json:"group_mention_channel,omitempty"`
GroupConfidentialMentionChannel *string `url:"group_confidential_mention_channel,omitempty" json:"group_confidential_mention_channel,omitempty"`
UseInheritedSettings *bool `url:"use_inherited_settings,omitempty" json:"use_inherited_settings,omitempty"`
}
SetGroupSlackOptions represents the available SetGroupSlackSettings() options.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#set-up-slack-notifications
type SetGroupWebexTeamsOptions ¶
type SetGroupWebexTeamsOptions struct {
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"`
}
SetGroupWebexTeamsOptions represents the available SetGroupWebexTeamsSettings() options.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#set-up-webex-teams
type SetHarborServiceOptions ¶
type SetHarborServiceOptions = SetUpHarborOptions
SetHarborServiceOptions represents the available SetHarborService() options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-harbor
type SetHookCustomHeaderOptions ¶
type SetHookCustomHeaderOptions struct {
Value *string `json:"value,omitempty"`
}
SetHookCustomHeaderOptions represents the available SetProjectCustomHeader() options.
GitLab API docs: https://docs.gitlab.com/api/project_webhooks/#set-a-custom-header
type SetHookURLVariableOptions ¶
type SetHookURLVariableOptions struct {
Value *string `json:"value,omitempty"`
}
SetHookURLVariableOptions represents the available SetGroupHookURLVariable() options.
GitLab API docs: https://docs.gitlab.com/api/group_webhooks/#set-a-url-variable
type SetJenkinsCIServiceOptions ¶
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"`
}
SetJenkinsCIServiceOptions represents the available SetJenkinsCIService() options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#jenkins
type SetJiraServiceOptions ¶
type SetJiraServiceOptions struct {
URL *string `url:"url,omitempty" json:"url,omitempty"`
APIURL *string `url:"api_url,omitempty" json:"api_url,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"`
JiraAuthType *int64 `url:"jira_auth_type,omitempty" json:"jira_auth_type,omitempty"`
JiraIssuePrefix *string `url:"jira_issue_prefix,omitempty" json:"jira_issue_prefix,omitempty"`
JiraIssueRegex *string `url:"jira_issue_regex,omitempty" json:"jira_issue_regex,omitempty"`
JiraIssueTransitionAutomatic *bool `url:"jira_issue_transition_automatic,omitempty" json:"jira_issue_transition_automatic,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"`
IssuesEnabled *bool `url:"issues_enabled,omitempty" json:"issues_enabled,omitempty"`
ProjectKeys *[]string `url:"project_keys,comma,omitempty" json:"project_keys,omitempty" `
UseInheritedSettings *bool `url:"use_inherited_settings,omitempty" json:"use_inherited_settings,omitempty"`
}
SetJiraServiceOptions represents the available SetJiraService() options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-jira-issues
type SetMatrixServiceOptions ¶
type SetMatrixServiceOptions struct {
Hostname *string `url:"hostname,omitempty" json:"hostname,omitempty"`
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"`
UseInheritedSettings *bool `url:"use_inherited_settings,omitempty" json:"use_inherited_settings,omitempty"`
}
SetMatrixServiceOptions represents the available SetMatrixService() options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-matrix-notifications
type SetMattermostServiceOptions ¶
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"`
}
SetMattermostServiceOptions represents the available SetMattermostService() options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-mattermost-notifications
type SetMattermostSlashCommandsServiceOptions ¶
type SetMattermostSlashCommandsServiceOptions struct {
Token *string `url:"token,omitempty" json:"token,omitempty"`
Username *string `url:"username,omitempty" json:"username,omitempty"`
}
SetMattermostSlashCommandsServiceOptions represents the available SetSlackSlashCommandsService() options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-mattermost-slash-commands
type SetMicrosoftTeamsNotificationsOptions ¶
type SetMicrosoftTeamsNotificationsOptions struct {
Targets *string `url:"targets,omitempty" json:"targets,omitempty"`
Webhook *string `url:"webhook,omitempty" json:"webhook,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"`
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"`
UseInheritedSettings *bool `url:"use_inherited_settings,omitempty" json:"use_inherited_settings,omitempty"`
}
SetMicrosoftTeamsNotificationsOptions represents the available SetMicrosoftTeamsNotifications() options.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#set-up-microsoft-teams-notifications
type SetMicrosoftTeamsServiceOptions ¶
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"`
}
SetMicrosoftTeamsServiceOptions represents the available SetMicrosoftTeamsService() options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-microsoft-teams-notifications
type SetPipelinesEmailServiceOptions ¶
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"`
}
SetPipelinesEmailServiceOptions represents the available SetPipelinesEmailService() options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-pipeline-status-emails
type SetProjectGoogleChatOptions ¶
type SetProjectGoogleChatOptions struct {
Webhook *string `url:"webhook,omitempty" json:"webhook,omitempty"`
NotifyOnlyBrokenPipelines *bool `url:"notify_only_broken_pipelines,omitempty" json:"notify_only_broken_pipelines,omitempty"`
NotifyOnlyWhenPipelineStatusChanges *bool `url:"notify_only_when_pipeline_status_changes,omitempty" json:"notify_only_when_pipeline_status_changes,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"`
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"`
UseInheritedSettings *bool `url:"use_inherited_settings,omitempty" json:"use_inherited_settings,omitempty"`
}
SetProjectGoogleChatOptions represents the available SetProjectGoogleChatSettings() options.
GitLab API docs: https://docs.gitlab.com/api/integrations.html#set-up-google-chat
type SetProjectMergeRequestExternalStatusCheckStatusOptions ¶
type SetProjectMergeRequestExternalStatusCheckStatusOptions struct {
SHA *string `url:"sha,omitempty" json:"sha,omitempty"`
ExternalStatusCheckID *int64 `url:"external_status_check_id,omitempty" json:"external_status_check_id,omitempty"`
Status *string `url:"status,omitempty" json:"status,omitempty"`
}
SetProjectMergeRequestExternalStatusCheckStatusOptions represents the available SetProjectMergeRequestExternalStatusCheckStatus() options.
GitLab API docs: https://docs.gitlab.com/api/status_checks/#set-status-of-an-external-status-check
type SetProjectWebhookURLVariableOptions ¶
type SetProjectWebhookURLVariableOptions struct {
Value *string `json:"value,omitempty"`
}
SetProjectWebhookURLVariableOptions represents the available SetProjectWebhookURLVariable() options.
GitLab API docs: https://docs.gitlab.com/api/project_webhooks/#set-a-url-variable
type SetRedmineServiceOptions ¶
type SetRedmineServiceOptions struct {
NewIssueURL *string `url:"new_issue_url,omitempty" json:"new_issue_url,omitempty"`
ProjectURL *string `url:"project_url,omitempty" json:"project_url,omitempty"`
IssuesURL *string `url:"issues_url,omitempty" json:"issues_url,omitempty"`
UseInheritedSettings *bool `url:"use_inherited_settings,omitempty" json:"use_inherited_settings,omitempty"`
}
SetRedmineServiceOptions represents the available SetRedmineService(). options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-redmine
type SetSlackApplicationOptions ¶
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"`
LabelsToBeNotified *string `url:"labels_to_be_notified,omitempty" json:"labels_to_be_notified,omitempty"`
LabelsToBeNotifiedBehavior *string `url:"labels_to_be_notified_behavior,omitempty" json:"labels_to_be_notified_behavior,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"`
ConfidentialNoteChannel *string `url:"confidential_note_channel,omitempty" json:"confidential_note_channel,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"`
DeploymentChannel *string `url:"deployment_channel,omitempty" json:"deployment_channel,omitempty"`
IncidentChannel *string `url:"incident_channel,omitempty" json:"incident_channel,omitempty"`
VulnerabilityChannel *string `url:"vulnerability_channel,omitempty" json:"vulnerability_channel,omitempty"`
AlertChannel *string `url:"alert_channel,omitempty" json:"alert_channel,omitempty"`
UseInheritedSettings *bool `url:"use_inherited_settings,omitempty" json:"use_inherited_settings,omitempty"`
// Deprecated: This parameter has been replaced with BranchesToBeNotified.
NotifyOnlyDefaultBranch *bool `url:"notify_only_default_branch,omitempty" json:"notify_only_default_branch,omitempty"`
}
SetSlackApplicationOptions represents the available SetSlackApplication() options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-gitlab-for-slack-app
type SetSlackServiceOptions ¶
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"`
}
SetSlackServiceOptions represents the available SetSlackService() options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-slack-notifications
type SetSlackSlashCommandsServiceOptions ¶
type SetSlackSlashCommandsServiceOptions struct {
Token *string `url:"token,omitempty" json:"token,omitempty"`
}
SetSlackSlashCommandsServiceOptions represents the available SetSlackSlashCommandsService() options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-slack-slash-commands
type SetTelegramServiceOptions ¶
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"`
}
SetTelegramServiceOptions represents the available SetTelegramService() options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-telegram
type SetTimeEstimateOptions ¶
type SetTimeEstimateOptions struct {
Duration *string `url:"duration,omitempty" json:"duration,omitempty"`
}
SetTimeEstimateOptions represents the available SetTimeEstimate() options.
GitLab docs: https://docs.gitlab.com/api/issues/#set-a-time-estimate-for-an-issue
type SetUpHarborOptions ¶
type SetUpHarborOptions struct {
URL *string `url:"url,omitempty" json:"url,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"`
UseInheritedSettings *bool `url:"use_inherited_settings,omitempty" json:"use_inherited_settings,omitempty"`
}
SetUpHarborOptions represents the available SetUpGroupHarbor() options.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#set-up-harbor
type SetUpJiraOptions ¶
type SetUpJiraOptions struct {
URL *string `url:"url,omitempty" json:"url,omitempty"`
APIURL *string `url:"api_url,omitempty" json:"api_url,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"`
JiraAuthType *int64 `url:"jira_auth_type,omitempty" json:"jira_auth_type,omitempty"`
JiraIssuePrefix *string `url:"jira_issue_prefix,omitempty" json:"jira_issue_prefix,omitempty"`
JiraIssueRegex *string `url:"jira_issue_regex,omitempty" json:"jira_issue_regex,omitempty"`
JiraIssueTransitionAutomatic *bool `url:"jira_issue_transition_automatic,omitempty" json:"jira_issue_transition_automatic,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"`
IssuesEnabled *bool `url:"issues_enabled,omitempty" json:"issues_enabled,omitempty"`
ProjectKeys *[]string `url:"project_keys,omitempty" json:"project_keys,omitempty"`
UseInheritedSettings *bool `url:"use_inherited_settings,omitempty" json:"use_inherited_settings,omitempty"`
}
SetUpJiraOptions represents the available SetUpJira() options.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#set-up-jira
type SetYouTrackServiceOptions ¶
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"`
}
SetYouTrackServiceOptions represents the available SetYouTrackService() options.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-youtrack
type Settings ¶
type Settings struct {
ID int64 `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"`
AllowAccountDeletion bool `json:"allow_account_deletion"`
AllowAllIntegrations bool `json:"allow_all_integrations"`
AllowedIntegrations []string `json:"allowed_integrations"`
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"`
AllowProjectCreationForGuestAndBelow bool `json:"allow_project_creation_for_guest_and_below"`
AllowRunnerRegistrationToken bool `json:"allow_runner_registration_token"`
AnonymousSearchesAllowed bool `json:"anonymous_searches_allowed"`
ArchiveBuildsInHumanReadable string `json:"archive_builds_in_human_readable"`
ASCIIDocMaxIncludes int64 `json:"asciidoc_max_includes"`
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"`
AutoBanUserOnExcessiveProjectsDownload bool `json:"auto_ban_user_on_excessive_projects_download"`
AutocompleteUsers int64 `json:"autocomplete_users"`
AutocompleteUsersUnauthenticated int64 `json:"autocomplete_users_unauthenticated"`
AutoDevOpsDomain string `json:"auto_devops_domain"`
AutoDevOpsEnabled bool `json:"auto_devops_enabled"`
AutomaticPurchasedStorageAllocation bool `json:"automatic_purchased_storage_allocation"`
BulkImportConcurrentPipelineBatchLimit int64 `json:"bulk_import_concurrent_pipeline_batch_limit"`
BulkImportEnabled bool `json:"bulk_import_enabled"`
BulkImportMaxDownloadFileSize int64 `json:"bulk_import_max_download_file_size"`
CanCreateGroup bool `json:"can_create_group"`
CheckNamespacePlan bool `json:"check_namespace_plan"`
CIJobLiveTraceEnabled bool `json:"ci_job_live_trace_enabled"`
CIMaxIncludes int64 `json:"ci_max_includes"`
CIMaxTotalYAMLSizeBytes int64 `json:"ci_max_total_yaml_size_bytes"`
CIPartitionsSizeLimit int64 `json:"ci_partitions_size_limit"`
CommitEmailHostname string `json:"commit_email_hostname"`
ConcurrentBitbucketImportJobsLimit int64 `json:"concurrent_bitbucket_import_jobs_limit"`
ConcurrentBitbucketServerImportJobsLimit int64 `json:"concurrent_bitbucket_server_import_jobs_limit"`
ConcurrentGitHubImportJobsLimit int64 `json:"concurrent_github_import_jobs_limit"`
ContainerExpirationPoliciesEnableHistoricEntries bool `json:"container_expiration_policies_enable_historic_entries"`
ContainerRegistryCleanupTagsServiceMaxListSize int64 `json:"container_registry_cleanup_tags_service_max_list_size"`
ContainerRegistryDeleteTagsServiceTimeout int64 `json:"container_registry_delete_tags_service_timeout"`
ContainerRegistryExpirationPoliciesCaching bool `json:"container_registry_expiration_policies_caching"`
ContainerRegistryExpirationPoliciesWorkerCapacity int64 `json:"container_registry_expiration_policies_worker_capacity"`
ContainerRegistryImportCreatedBefore *time.Time `json:"container_registry_import_created_before"`
ContainerRegistryImportMaxRetries int64 `json:"container_registry_import_max_retries"`
ContainerRegistryImportMaxStepDuration int64 `json:"container_registry_import_max_step_duration"`
ContainerRegistryImportMaxTagsCount int64 `json:"container_registry_import_max_tags_count"`
ContainerRegistryImportStartMaxRetries int64 `json:"container_registry_import_start_max_retries"`
ContainerRegistryImportTargetPlan string `json:"container_registry_import_target_plan"`
ContainerRegistryTokenExpireDelay int64 `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 int64 `json:"dsa_key_restriction"`
DeactivateDormantUsers bool `json:"deactivate_dormant_users"`
DeactivateDormantUsersPeriod int64 `json:"deactivate_dormant_users_period"`
DecompressArchiveFileTimeout int64 `json:"decompress_archive_file_timeout"`
DefaultArtifactsExpireIn string `json:"default_artifacts_expire_in"`
DefaultBranchName string `json:"default_branch_name"`
DefaultBranchProtectionDefaults *BranchProtectionDefaults `json:"default_branch_protection_defaults,omitempty"`
DefaultCiConfigPath string `json:"default_ci_config_path"`
DefaultGroupVisibility VisibilityValue `json:"default_group_visibility"`
DefaultPreferredLanguage string `json:"default_preferred_language"`
DefaultProjectCreation int64 `json:"default_project_creation"`
DefaultProjectDeletionProtection bool `json:"default_project_deletion_protection"`
DefaultProjectVisibility VisibilityValue `json:"default_project_visibility"`
DefaultProjectsLimit int64 `json:"default_projects_limit"`
DefaultSnippetVisibility VisibilityValue `json:"default_snippet_visibility"`
DefaultSyntaxHighlightingTheme int64 `json:"default_syntax_highlighting_theme"`
DelayedGroupDeletion bool `json:"delayed_group_deletion"`
DelayedProjectDeletion bool `json:"delayed_project_deletion"`
DeleteInactiveProjects bool `json:"delete_inactive_projects"`
DeleteUnconfirmedUsers bool `json:"delete_unconfirmed_users"`
DeletionAdjournedPeriod int64 `json:"deletion_adjourned_period"`
DiagramsnetEnabled bool `json:"diagramsnet_enabled"`
DiagramsnetURL string `json:"diagramsnet_url"`
DiffMaxFiles int64 `json:"diff_max_files"`
DiffMaxLines int64 `json:"diff_max_lines"`
DiffMaxPatchBytes int64 `json:"diff_max_patch_bytes"`
DisableAdminOAuthScopes bool `json:"disable_admin_oauth_scopes"`
DisableFeedToken bool `json:"disable_feed_token"`
DisableOverridingApproversPerMergeRequest bool `json:"disable_overriding_approvers_per_merge_request"`
DisablePersonalAccessTokens bool `json:"disable_personal_access_tokens"`
DisabledOauthSignInSources []string `json:"disabled_oauth_sign_in_sources"`
DomainAllowlist []string `json:"domain_allowlist"`
DomainDenylist []string `json:"domain_denylist"`
DomainDenylistEnabled bool `json:"domain_denylist_enabled"`
DownstreamPipelineTriggerLimitPerProjectUserSHA int64 `json:"downstream_pipeline_trigger_limit_per_project_user_sha"`
DuoFeaturesEnabled bool `json:"duo_features_enabled"`
ECDSAKeyRestriction int64 `json:"ecdsa_key_restriction"`
ECDSASKKeyRestriction int64 `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 int64 `json:"ed25519_key_restriction"`
Ed25519SKKeyRestriction int64 `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 int64 `json:"elasticsearch_client_request_timeout"`
ElasticsearchIndexedFieldLengthLimit int64 `json:"elasticsearch_indexed_field_length_limit"`
ElasticsearchIndexedFileSizeLimitKB int64 `json:"elasticsearch_indexed_file_size_limit_kb"`
ElasticsearchIndexing bool `json:"elasticsearch_indexing"`
ElasticsearchLimitIndexing bool `json:"elasticsearch_limit_indexing"`
ElasticsearchMaxBulkConcurrency int64 `json:"elasticsearch_max_bulk_concurrency"`
ElasticsearchMaxBulkSizeMB int64 `json:"elasticsearch_max_bulk_size_mb"`
ElasticsearchMaxCodeIndexingConcurrency int64 `json:"elasticsearch_max_code_indexing_concurrency"`
ElasticsearchNamespaceIDs []int64 `json:"elasticsearch_namespace_ids"`
ElasticsearchPassword string `json:"elasticsearch_password"`
ElasticsearchPauseIndexing bool `json:"elasticsearch_pause_indexing"`
ElasticsearchProjectIDs []int64 `json:"elasticsearch_project_ids"`
ElasticsearchReplicas int64 `json:"elasticsearch_replicas"`
ElasticsearchRequeueWorkers bool `json:"elasticsearch_requeue_workers"`
ElasticsearchRetryOnFailure int64 `json:"elasticsearch_retry_on_failure"`
ElasticsearchSearch bool `json:"elasticsearch_search"`
ElasticsearchShards int64 `json:"elasticsearch_shards"`
ElasticsearchURL []string `json:"elasticsearch_url"`
ElasticsearchUsername string `json:"elasticsearch_username"`
ElasticsearchWorkerNumberOfShards int64 `json:"elasticsearch_worker_number_of_shards"`
EmailAdditionalText string `json:"email_additional_text"`
EmailAuthorInBody bool `json:"email_author_in_body"`
EmailConfirmationSetting string `json:"email_confirmation_setting"`
EmailRestrictions string `json:"email_restrictions"`
EmailRestrictionsEnabled bool `json:"email_restrictions_enabled"`
EnableArtifactExternalRedirectWarningPage bool `json:"enable_artifact_external_redirect_warning_page"`
EnabledGitAccessProtocol string `json:"enabled_git_access_protocol"`
EnforceCIInboundJobTokenScopeEnabled bool `json:"enforce_ci_inbound_job_token_scope_enabled"`
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 int64 `json:"external_pipeline_validation_service_timeout"`
ExternalPipelineValidationServiceToken string `json:"external_pipeline_validation_service_token"`
ExternalPipelineValidationServiceURL string `json:"external_pipeline_validation_service_url"`
FailedLoginAttemptsUnlockPeriodInMinutes int64 `json:"failed_login_attempts_unlock_period_in_minutes"`
FileTemplateProjectID int64 `json:"file_template_project_id"`
FirstDayOfWeek int64 `json:"first_day_of_week"`
FlocEnabled bool `json:"floc_enabled"`
GeoNodeAllowedIPs string `json:"geo_node_allowed_ips"`
GeoStatusTimeout int64 `json:"geo_status_timeout"`
GitRateLimitUsersAlertlist []int64 `json:"git_rate_limit_users_alertlist"`
GitTwoFactorSessionExpiry int64 `json:"git_two_factor_session_expiry"`
GitalyTimeoutDefault int64 `json:"gitaly_timeout_default"`
GitalyTimeoutFast int64 `json:"gitaly_timeout_fast"`
GitalyTimeoutMedium int64 `json:"gitaly_timeout_medium"`
GitlabDedicatedInstance bool `json:"gitlab_dedicated_instance"`
GitlabEnvironmentToolkitInstance bool `json:"gitlab_environment_toolkit_instance"`
GitlabShellOperationLimit int64 `json:"gitlab_shell_operation_limit"`
GitpodEnabled bool `json:"gitpod_enabled"`
GitpodURL string `json:"gitpod_url"`
GitRateLimitUsersAllowlist []string `json:"git_rate_limit_users_allowlist"`
GloballyAllowedIPs string `json:"globally_allowed_ips"`
GrafanaEnabled bool `json:"grafana_enabled"`
GrafanaURL string `json:"grafana_url"`
GravatarEnabled bool `json:"gravatar_enabled"`
GroupDownloadExportLimit int64 `json:"group_download_export_limit"`
GroupExportLimit int64 `json:"group_export_limit"`
GroupImportLimit int64 `json:"group_import_limit"`
GroupOwnersCanManageDefaultBranchProtection bool `json:"group_owners_can_manage_default_branch_protection"`
GroupRunnerTokenExpirationInterval int64 `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"`
HousekeepingEnabled bool `json:"housekeeping_enabled"`
HousekeepingOptimizeRepositoryPeriod int64 `json:"housekeeping_optimize_repository_period"`
ImportSources []string `json:"import_sources"`
InactiveProjectsDeleteAfterMonths int64 `json:"inactive_projects_delete_after_months"`
InactiveProjectsMinSizeMB int64 `json:"inactive_projects_min_size_mb"`
InactiveProjectsSendWarningEmailAfterMonths int64 `json:"inactive_projects_send_warning_email_after_months"`
InactiveResourceAccessTokensDeleteAfterDays int64 `json:"inactive_resource_access_tokens_delete_after_days"`
IncludeOptionalMetricsInServicePing bool `json:"include_optional_metrics_in_service_ping"`
InProductMarketingEmailsEnabled bool `json:"in_product_marketing_emails_enabled"`
InvisibleCaptchaEnabled bool `json:"invisible_captcha_enabled"`
IssuesCreateLimit int64 `json:"issues_create_limit"`
JiraConnectApplicationKey string `json:"jira_connect_application_key"`
JiraConnectPublicKeyStorageEnabled bool `json:"jira_connect_public_key_storage_enabled"`
JiraConnectProxyURL string `json:"jira_connect_proxy_url"`
KeepLatestArtifact bool `json:"keep_latest_artifact"`
KrokiEnabled bool `json:"kroki_enabled"`
KrokiFormats map[string]bool `json:"kroki_formats"`
KrokiURL string `json:"kroki_url"`
LocalMarkdownVersion int64 `json:"local_markdown_version"`
LockDuoFeaturesEnabled bool `json:"lock_duo_features_enabled"`
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"`
MavenPackageRequestsForwarding bool `json:"maven_package_requests_forwarding"`
MaxArtifactsSize int64 `json:"max_artifacts_size"`
MaxAttachmentSize int64 `json:"max_attachment_size"`
MaxDecompressedArchiveSize int64 `json:"max_decompressed_archive_size"`
MaxExportSize int64 `json:"max_export_size"`
MaxImportRemoteFileSize int64 `json:"max_import_remote_file_size"`
MaxImportSize int64 `json:"max_import_size"`
MaxLoginAttempts int64 `json:"max_login_attempts"`
MaxNumberOfRepositoryDownloads int64 `json:"max_number_of_repository_downloads"`
MaxNumberOfRepositoryDownloadsWithinTimePeriod int64 `json:"max_number_of_repository_downloads_within_time_period"`
MaxPagesSize int64 `json:"max_pages_size"`
MaxPersonalAccessTokenLifetime int64 `json:"max_personal_access_token_lifetime"`
MaxSSHKeyLifetime int64 `json:"max_ssh_key_lifetime"`
MaxTerraformStateSizeBytes int64 `json:"max_terraform_state_size_bytes"`
MaxYAMLDepth int64 `json:"max_yaml_depth"`
MaxYAMLSizeBytes int64 `json:"max_yaml_size_bytes"`
MetricsMethodCallThreshold int64 `json:"metrics_method_call_threshold"`
MinimumPasswordLength int64 `json:"minimum_password_length"`
MirrorAvailable bool `json:"mirror_available"`
MirrorCapacityThreshold int64 `json:"mirror_capacity_threshold"`
MirrorMaxCapacity int64 `json:"mirror_max_capacity"`
MirrorMaxDelay int64 `json:"mirror_max_delay"`
NPMPackageRequestsForwarding bool `json:"npm_package_requests_forwarding"`
NotesCreateLimit int64 `json:"notes_create_limit"`
NotifyOnUnknownSignIn bool `json:"notify_on_unknown_sign_in"`
NugetSkipMetadataURLValidation bool `json:"nuget_skip_metadata_url_validation"`
OutboundLocalRequestsAllowlistRaw string `json:"outbound_local_requests_allowlist_raw"`
OutboundLocalRequestsWhitelist []string `json:"outbound_local_requests_whitelist"`
PackageMetadataPURLTypes []int64 `json:"package_metadata_purl_types"`
PackageRegistryAllowAnyoneToPullOption bool `json:"package_registry_allow_anyone_to_pull_option"`
PackageRegistryCleanupPoliciesWorkerCapacity int64 `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"`
PerformanceBarAllowedGroupPath string `json:"performance_bar_allowed_group_path"`
PersonalAccessTokenPrefix string `json:"personal_access_token_prefix"`
PipelineLimitPerProjectUserSha int64 `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 int64 `json:"project_download_export_limit"`
ProjectExportEnabled bool `json:"project_export_enabled"`
ProjectExportLimit int64 `json:"project_export_limit"`
ProjectImportLimit int64 `json:"project_import_limit"`
ProjectJobsAPIRateLimit int64 `json:"project_jobs_api_rate_limit"`
ProjectRunnerTokenExpirationInterval int64 `json:"project_runner_token_expiration_interval"`
ProjectsAPIRateLimitUnauthenticated int64 `json:"projects_api_rate_limit_unauthenticated"`
PrometheusMetricsEnabled bool `json:"prometheus_metrics_enabled"`
ProtectedCIVariables bool `json:"protected_ci_variables"`
PseudonymizerEnabled bool `json:"pseudonymizer_enabled"`
PushEventActivitiesLimit int64 `json:"push_event_activities_limit"`
PushEventHooksLimit int64 `json:"push_event_hooks_limit"`
PyPIPackageRequestsForwarding bool `json:"pypi_package_requests_forwarding"`
RSAKeyRestriction int64 `json:"rsa_key_restriction"`
RateLimitingResponseText string `json:"rate_limiting_response_text"`
RawBlobRequestLimit int64 `json:"raw_blob_request_limit"`
RecaptchaEnabled bool `json:"recaptcha_enabled"`
RecaptchaPrivateKey string `json:"recaptcha_private_key"`
RecaptchaSiteKey string `json:"recaptcha_site_key"`
ReceiveMaxInputSize int64 `json:"receive_max_input_size"`
ReceptiveClusterAgentsEnabled bool `json:"receptive_cluster_agents_enabled"`
RememberMeEnabled bool `json:"remember_me_enabled"`
RepositoryChecksEnabled bool `json:"repository_checks_enabled"`
RepositorySizeLimit int64 `json:"repository_size_limit"`
RepositoryStorages []string `json:"repository_storages"`
RepositoryStoragesWeighted map[string]int64 `json:"repository_storages_weighted"`
RequireAdminApprovalAfterUserSignup bool `json:"require_admin_approval_after_user_signup"`
RequireAdminTwoFactorAuthentication bool `json:"require_admin_two_factor_authentication"`
RequirePersonalAccessTokenExpiry bool `json:"require_personal_access_token_expiry"`
RequireTwoFactorAuthentication bool `json:"require_two_factor_authentication"`
RestrictedVisibilityLevels []VisibilityValue `json:"restricted_visibility_levels"`
RunnerTokenExpirationInterval int64 `json:"runner_token_expiration_interval"`
SearchRateLimit int64 `json:"search_rate_limit"`
SearchRateLimitUnauthenticated int64 `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"`
SecurityApprovalPoliciesLimit int64 `json:"security_approval_policies_limit"`
SecurityPolicyGlobalGroupApproversEnabled bool `json:"security_policy_global_group_approvers_enabled"`
SecurityTXTContent string `json:"security_txt_content"`
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"`
ServiceAccessTokensExpirationEnforced bool `json:"service_access_tokens_expiration_enforced"`
SessionExpireDelay int64 `json:"session_expire_delay"`
SessionExpireFromInit bool `json:"session_expire_from_init"`
SidekiqJobLimiterCompressionThresholdBytes int64 `json:"sidekiq_job_limiter_compression_threshold_bytes"`
SidekiqJobLimiterLimitBytes int64 `json:"sidekiq_job_limiter_limit_bytes"`
SidekiqJobLimiterMode string `json:"sidekiq_job_limiter_mode"`
SignInText string `json:"sign_in_text"`
SignupEnabled bool `json:"signup_enabled"`
SilentAdminExportsEnabled bool `json:"silent_admin_exports_enabled"`
SilentModeEnabled bool `json:"silent_mode_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 int64 `json:"snippet_size_limit"`
SnowplowAppID string `json:"snowplow_app_id"`
SnowplowCollectorHostname string `json:"snowplow_collector_hostname"`
SnowplowCookieDomain string `json:"snowplow_cookie_domain"`
SnowplowDatabaseCollectorHostname string `json:"snowplow_database_collector_hostname"`
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"`
StaticObjectsExternalStorageAuthToken string `json:"static_objects_external_storage_auth_token"`
StaticObjectsExternalStorageURL string `json:"static_objects_external_storage_url"`
SuggestPipelineEnabled bool `json:"suggest_pipeline_enabled"`
TerminalMaxSessionTime int64 `json:"terminal_max_session_time"`
Terms string `json:"terms"`
ThrottleAuthenticatedAPIEnabled bool `json:"throttle_authenticated_api_enabled"`
ThrottleAuthenticatedAPIPeriodInSeconds int64 `json:"throttle_authenticated_api_period_in_seconds"`
ThrottleAuthenticatedAPIRequestsPerPeriod int64 `json:"throttle_authenticated_api_requests_per_period"`
ThrottleAuthenticatedDeprecatedAPIEnabled bool `json:"throttle_authenticated_deprecated_api_enabled"`
ThrottleAuthenticatedDeprecatedAPIPeriodInSeconds int64 `json:"throttle_authenticated_deprecated_api_period_in_seconds"`
ThrottleAuthenticatedDeprecatedAPIRequestsPerPeriod int64 `json:"throttle_authenticated_deprecated_api_requests_per_period"`
ThrottleAuthenticatedFilesAPIEnabled bool `json:"throttle_authenticated_files_api_enabled"`
ThrottleAuthenticatedFilesAPIPeriodInSeconds int64 `json:"throttle_authenticated_files_api_period_in_seconds"`
ThrottleAuthenticatedFilesAPIRequestsPerPeriod int64 `json:"throttle_authenticated_files_api_requests_per_period"`
ThrottleAuthenticatedGitLFSEnabled bool `json:"throttle_authenticated_git_lfs_enabled"`
ThrottleAuthenticatedGitLFSPeriodInSeconds int64 `json:"throttle_authenticated_git_lfs_period_in_seconds"`
ThrottleAuthenticatedGitLFSRequestsPerPeriod int64 `json:"throttle_authenticated_git_lfs_requests_per_period"`
ThrottleAuthenticatedPackagesAPIEnabled bool `json:"throttle_authenticated_packages_api_enabled"`
ThrottleAuthenticatedPackagesAPIPeriodInSeconds int64 `json:"throttle_authenticated_packages_api_period_in_seconds"`
ThrottleAuthenticatedPackagesAPIRequestsPerPeriod int64 `json:"throttle_authenticated_packages_api_requests_per_period"`
ThrottleAuthenticatedWebEnabled bool `json:"throttle_authenticated_web_enabled"`
ThrottleAuthenticatedWebPeriodInSeconds int64 `json:"throttle_authenticated_web_period_in_seconds"`
ThrottleAuthenticatedWebRequestsPerPeriod int64 `json:"throttle_authenticated_web_requests_per_period"`
ThrottleIncidentManagementNotificationEnabled bool `json:"throttle_incident_management_notification_enabled"`
ThrottleIncidentManagementNotificationPerPeriod int64 `json:"throttle_incident_management_notification_per_period"`
ThrottleIncidentManagementNotificationPeriodInSeconds int64 `json:"throttle_incident_management_notification_period_in_seconds"`
ThrottleProtectedPathsEnabled bool `json:"throttle_protected_paths_enabled"`
ThrottleProtectedPathsPeriodInSeconds int64 `json:"throttle_protected_paths_period_in_seconds"`
ThrottleProtectedPathsRequestsPerPeriod int64 `json:"throttle_protected_paths_requests_per_period"`
ThrottleUnauthenticatedAPIEnabled bool `json:"throttle_unauthenticated_api_enabled"`
ThrottleUnauthenticatedAPIPeriodInSeconds int64 `json:"throttle_unauthenticated_api_period_in_seconds"`
ThrottleUnauthenticatedAPIRequestsPerPeriod int64 `json:"throttle_unauthenticated_api_requests_per_period"`
ThrottleUnauthenticatedDeprecatedAPIEnabled bool `json:"throttle_unauthenticated_deprecated_api_enabled"`
ThrottleUnauthenticatedDeprecatedAPIPeriodInSeconds int64 `json:"throttle_unauthenticated_deprecated_api_period_in_seconds"`
ThrottleUnauthenticatedDeprecatedAPIRequestsPerPeriod int64 `json:"throttle_unauthenticated_deprecated_api_requests_per_period"`
ThrottleUnauthenticatedFilesAPIEnabled bool `json:"throttle_unauthenticated_files_api_enabled"`
ThrottleUnauthenticatedFilesAPIPeriodInSeconds int64 `json:"throttle_unauthenticated_files_api_period_in_seconds"`
ThrottleUnauthenticatedFilesAPIRequestsPerPeriod int64 `json:"throttle_unauthenticated_files_api_requests_per_period"`
ThrottleUnauthenticatedGitLFSEnabled bool `json:"throttle_unauthenticated_git_lfs_enabled"`
ThrottleUnauthenticatedGitLFSPeriodInSeconds int64 `json:"throttle_unauthenticated_git_lfs_period_in_seconds"`
ThrottleUnauthenticatedGitLFSRequestsPerPeriod int64 `json:"throttle_unauthenticated_git_lfs_requests_per_period"`
ThrottleUnauthenticatedPackagesAPIEnabled bool `json:"throttle_unauthenticated_packages_api_enabled"`
ThrottleUnauthenticatedPackagesAPIPeriodInSeconds int64 `json:"throttle_unauthenticated_packages_api_period_in_seconds"`
ThrottleUnauthenticatedPackagesAPIRequestsPerPeriod int64 `json:"throttle_unauthenticated_packages_api_requests_per_period"`
ThrottleUnauthenticatedWebEnabled bool `json:"throttle_unauthenticated_web_enabled"`
ThrottleUnauthenticatedWebPeriodInSeconds int64 `json:"throttle_unauthenticated_web_period_in_seconds"`
ThrottleUnauthenticatedWebRequestsPerPeriod int64 `json:"throttle_unauthenticated_web_requests_per_period"`
TimeTrackingLimitToHours bool `json:"time_tracking_limit_to_hours"`
TwoFactorGracePeriod int64 `json:"two_factor_grace_period"`
UnconfirmedUsersDeleteAfterDays int64 `json:"unconfirmed_users_delete_after_days"`
UniqueIPsLimitEnabled bool `json:"unique_ips_limit_enabled"`
UniqueIPsLimitPerUser int64 `json:"unique_ips_limit_per_user"`
UniqueIPsLimitTimeWindow int64 `json:"unique_ips_limit_time_window"`
UpdateRunnerVersionsEnabled bool `json:"update_runner_versions_enabled"`
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"`
UseClickhouseForAnalytics bool `json:"use_clickhouse_for_analytics"`
UserDeactivationEmailsEnabled bool `json:"user_deactivation_emails_enabled"`
UserDefaultExternal bool `json:"user_default_external"`
UserDefaultInternalRegex string `json:"user_default_internal_regex"`
UserDefaultsToPrivateProfile bool `json:"user_defaults_to_private_profile"`
UserOauthApplications bool `json:"user_oauth_applications"`
UserShowAddSSHKeyMessage bool `json:"user_show_add_ssh_key_message"`
UsersGetByIDLimit int64 `json:"users_get_by_id_limit"`
UsersGetByIDLimitAllowlistRaw string `json:"users_get_by_id_limit_allowlist_raw"`
ValidRunnerRegistrars []string `json:"valid_runner_registrars"`
VersionCheckEnabled bool `json:"version_check_enabled"`
WebIDEClientsidePreviewEnabled bool `json:"web_ide_clientside_preview_enabled"`
WhatsNewVariant string `json:"whats_new_variant"`
WikiPageMaxContentBytes int64 `json:"wiki_page_max_content_bytes"`
LockMembershipsToSAML bool `json:"lock_memberships_to_saml"`
// Deprecated: Use DefaultBranchProtectionDefaults instead.
DefaultBranchProtection int64 `json:"default_branch_protection"`
// Deprecated: Cannot be set through the API, always true
HousekeepingBitmapsEnabled bool `json:"housekeeping_bitmaps_enabled"`
// Deprecated: use HousekeepingOptimizeRepositoryPeriod instead
HousekeepingFullRepackPeriod int64 `json:"housekeeping_full_repack_period"`
// Deprecated: use HousekeepingOptimizeRepositoryPeriod instead
HousekeepingGcPeriod int64 `json:"housekeeping_gc_period"`
// Deprecated: use HousekeepingOptimizeRepositoryPeriod instead
HousekeepingIncrementalRepackPeriod int64 `json:"housekeeping_incremental_repack_period"`
// Deprecated: use PerformanceBarAllowedGroupPath instead
PerformanceBarAllowedGroupID int64 `json:"performance_bar_allowed_group_id"`
// Deprecated: use PerformanceBarAllowedGroupPath: nil instead
PerformanceBarEnabled bool `json:"performance_bar_enabled"`
// 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 int64 `json:"throttle_unauthenticated_period_in_seconds"`
// Deprecated: Use ThrottleUnauthenticatedWebRequestsPerPeriod or ThrottleUnauthenticatedAPIRequestsPerPeriod instead. (Deprecated in GitLab 14.3)
ThrottleUnauthenticatedRequestsPerPeriod int64 `json:"throttle_unauthenticated_requests_per_period"`
// Deprecated: Replaced by SearchRateLimit in GitLab 14.9 (removed in 15.0).
UserEmailLookupLimit int64 `json:"user_email_lookup_limit"`
}
Settings represents the GitLab application settings.
GitLab API docs: https://docs.gitlab.com/api/settings/
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
func (*Settings) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface. Settings requires a custom unmarshaller in order to properly unmarshal `container_registry_import_created_before` which is either a time.Time or an empty string if no value is set.
type SettingsService ¶
type SettingsService struct {
// contains filtered or unexported fields
}
SettingsService handles communication with the application SettingsService related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/settings/
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/api/settings/#get-details-on-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/api/settings/#update-application-settings
type SettingsServiceInterface ¶
type SettingsServiceInterface interface {
GetSettings(options ...RequestOptionFunc) (*Settings, *Response, error)
UpdateSettings(opt *UpdateSettingsOptions, options ...RequestOptionFunc) (*Settings, *Response, error)
}
type ShareGroupWithGroupOptions ¶
type ShareGroupWithGroupOptions struct {
}
ShareGroupWithGroupOptions represents the available ShareGroupWithGroup() options.
GitLab API docs: https://docs.gitlab.com/api/groups/#share-groups-with-groups
type ShareWithGroupOptions ¶
type ShareWithGroupOptions struct {
}
ShareWithGroupOptions represents the available SharedWithGroup() options.
GitLab API docs: https://docs.gitlab.com/api/projects/#share-a-project-with-a-group
type SharedRunnersSettingValue ¶
type SharedRunnersSettingValue string
SharedRunnersSettingValue determines whether shared runners are enabled for a group’s subgroups and projects.
GitLab API docs: https://docs.gitlab.com/api/groups/#options-for-shared_runners_setting
const ( // in favor of DisabledAndOverridableSharedRunnersSettingValue. DisabledWithOverrideSharedRunnersSettingValue SharedRunnersSettingValue = "disabled_with_override" )
List of available shared runner setting levels.
GitLab API docs: https://docs.gitlab.com/api/groups/#options-for-shared_runners_setting
type SharedWithGroup ¶
type SharedWithGroup struct {
}
SharedWithGroup represents a GitLab group shared with a group.
GitLab API docs: https://docs.gitlab.com/api/groups/
type ShowMergeRequestRawDiffsOptions ¶
type ShowMergeRequestRawDiffsOptions struct{}
ShowMergeRequestRawDiffsOptions represents the available ShowMergeRequestRawDiffs() options.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#show-merge-request-raw-diffs
type SidekiqService ¶
type SidekiqService struct {
// contains filtered or unexported fields
}
SidekiqService handles communication with the sidekiq service
GitLab API docs: https://docs.gitlab.com/api/sidekiq_metrics/
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/api/sidekiq_metrics/#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/api/sidekiq_metrics/#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/api/sidekiq_metrics/#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/api/sidekiq_metrics/#get-the-current-queue-metrics
type SidekiqServiceInterface ¶
type SidekiqServiceInterface interface {
GetQueueMetrics(options ...RequestOptionFunc) (*QueueMetrics, *Response, error)
GetProcessMetrics(options ...RequestOptionFunc) (*ProcessMetrics, *Response, error)
GetJobStats(options ...RequestOptionFunc) (*JobStats, *Response, error)
GetCompoundMetrics(options ...RequestOptionFunc) (*CompoundMetrics, *Response, error)
}
type SlackApplication ¶
type SlackApplication struct {
Service
Properties *SlackApplicationProperties `json:"properties"`
}
SlackApplication represents GitLab for slack application settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#gitlab-for-slack-app
type SlackApplicationProperties ¶
type SlackApplicationProperties struct {
Channel string `json:"channel"`
NotifyOnlyBrokenPipelines bool `json:"notify_only_broken_pipelines"`
BranchesToBeNotified string `json:"branches_to_be_notified"`
LabelsToBeNotified string `json:"labels_to_be_notified"`
LabelsToBeNotifiedBehavior string `json:"labels_to_be_notified_behavior"`
PushChannel string `json:"push_channel"`
IssueChannel string `json:"issue_channel"`
ConfidentialIssueChannel string `json:"confidential_issue_channel"`
MergeRequestChannel string `json:"merge_request_channel"`
NoteChannel string `json:"note_channel"`
ConfidentialNoteChannel string `json:"confidential_note_channel"`
TagPushChannel string `json:"tag_push_channel"`
PipelineChannel string `json:"pipeline_channel"`
WikiPageChannel string `json:"wiki_page_channel"`
DeploymentChannel string `json:"deployment_channel"`
IncidentChannel string `json:"incident_channel"`
VulnerabilityChannel string `json:"vulnerability_channel"`
AlertChannel string `json:"alert_channel"`
// Deprecated: This parameter has been replaced with BranchesToBeNotified.
NotifyOnlyDefaultBranch bool `json:"notify_only_default_branch"`
}
SlackApplicationProperties represents GitLab for slack application specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#gitlab-for-slack-app
type SlackIntegration ¶
type SlackIntegration struct {
Integration
Properties SlackIntegrationProperties `json:"properties"`
}
SlackIntegration represents the Slack integration settings. It embeds the generic Integration struct and adds Slack-specific properties.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#get-slack-settings
type SlackIntegrationProperties ¶
type SlackIntegrationProperties struct {
Username string `json:"username"`
Channel string `json:"channel"`
NotifyOnlyBrokenPipelines bool `json:"notify_only_broken_pipelines"`
BranchesToBeNotified string `json:"branches_to_be_notified"`
LabelsToBeNotified string `json:"labels_to_be_notified"`
LabelsToBeNotifiedBehavior string `json:"labels_to_be_notified_behavior"`
PushChannel string `json:"push_channel"`
IssueChannel string `json:"issue_channel"`
ConfidentialIssueChannel string `json:"confidential_issue_channel"`
MergeRequestChannel string `json:"merge_request_channel"`
NoteChannel string `json:"note_channel"`
ConfidentialNoteChannel string `json:"confidential_note_channel"`
TagPushChannel string `json:"tag_push_channel"`
PipelineChannel string `json:"pipeline_channel"`
WikiPageChannel string `json:"wiki_page_channel"`
DeploymentChannel string `json:"deployment_channel"`
IncidentChannel string `json:"incident_channel"`
AlertChannel string `json:"alert_channel"`
GroupMentionChannel string `json:"group_mention_channel"`
GroupConfidentialMentionChannel string `json:"group_confidential_mention_channel"`
}
SlackIntegrationProperties represents Slack specific properties returned by the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#get-slack-settings
type SlackService ¶
type SlackService struct {
Service
Properties *SlackServiceProperties `json:"properties"`
}
SlackService represents Slack service settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#slack-notifications
type SlackServiceProperties ¶
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"`
}
SlackServiceProperties represents Slack specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#slack-notifications
type SlackSlashCommandsProperties ¶
type SlackSlashCommandsProperties struct {
Token string `json:"token"`
}
SlackSlashCommandsProperties represents Slack slash commands specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#slack-slash-commands
type SlackSlashCommandsService ¶
type SlackSlashCommandsService struct {
Service
Properties *SlackSlashCommandsProperties `json:"properties"`
}
SlackSlashCommandsService represents Slack slash commands settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#slack-slash-commands
type Snippet ¶
type Snippet struct {
ID int64 `json:"id"`
Title string `json:"title"`
FileName string `json:"file_name"`
Description string `json:"description"`
Visibility string `json:"visibility"`
Author SnippetAuthor `json:"author"`
UpdatedAt *time.Time `json:"updated_at"`
CreatedAt *time.Time `json:"created_at"`
ProjectID int64 `json:"project_id"`
WebURL string `json:"web_url"`
RawURL string `json:"raw_url"`
Files []SnippetFile `json:"files"`
RepositoryStorage string `json:"repository_storage"`
}
Snippet represents a GitLab snippet.
GitLab API docs: https://docs.gitlab.com/api/snippets/
type SnippetAuthor ¶
type SnippetAuthor struct {
ID int64 `json:"id"`
Username string `json:"username"`
Email string `json:"email"`
Name string `json:"name"`
State string `json:"state"`
CreatedAt *time.Time `json:"created_at"`
}
SnippetAuthor represents a GitLab snippet author.
GitLab API docs: https://docs.gitlab.com/api/snippets/
func (SnippetAuthor) String ¶
func (a SnippetAuthor) String() string
type SnippetCommentEvent ¶
type SnippetCommentEvent struct {
ObjectKind string `json:"object_kind"`
EventType string `json:"event_type"`
User *EventUser `json:"user"`
ProjectID int64 `json:"project_id"`
Project SnippetCommentEventProject `json:"project"`
Repository *Repository `json:"repository"`
ObjectAttributes SnippetCommentEventObjectAttributes `json:"object_attributes"`
Snippet *SnippetCommentEventSnippet `json:"snippet"`
}
SnippetCommentEvent represents a comment on a snippet event.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#comment-on-a-code-snippet
type SnippetCommentEventObjectAttributes ¶
type SnippetCommentEventObjectAttributes struct {
ID int64 `json:"id"`
Note string `json:"note"`
NoteableType string `json:"noteable_type"`
AuthorID int64 `json:"author_id"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
ProjectID int64 `json:"project_id"`
Attachment string `json:"attachment"`
LineCode string `json:"line_code"`
CommitID string `json:"commit_id"`
NoteableID int64 `json:"noteable_id"`
System bool `json:"system"`
StDiff *Diff `json:"st_diff"`
Description string `json:"description"`
Action CommentEventAction `json:"action"`
URL string `json:"url"`
}
type SnippetCommentEventProject ¶
type SnippetCommentEventProject 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"`
}
type SnippetCommentEventSnippet ¶
type SnippetCommentEventSnippet struct {
ID int64 `json:"id"`
Title string `json:"title"`
Content string `json:"content"`
AuthorID int64 `json:"author_id"`
ProjectID int64 `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 int64 `json:"visibility_level"`
Description string `json:"description"`
Secret bool `json:"secret"`
RepositoryReadOnly bool `json:"repository_read_only"`
}
type SnippetFile ¶
SnippetFile represents a GitLab snippet file.
GitLab API docs: https://docs.gitlab.com/api/snippets/
func (SnippetFile) String ¶
func (f SnippetFile) String() string
type SnippetRepositoryStorageMove ¶
type SnippetRepositoryStorageMove struct {
ID int64 `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"`
}
SnippetRepositoryStorageMove represents the status of a repository move.
GitLab API docs: https://docs.gitlab.com/api/snippet_repository_storage_moves/
type SnippetRepositoryStorageMoveService ¶
type SnippetRepositoryStorageMoveService struct {
// contains filtered or unexported fields
}
SnippetRepositoryStorageMoveService handles communication with the snippets related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/snippet_repository_storage_moves/
func (SnippetRepositoryStorageMoveService) GetStorageMove ¶
func (s SnippetRepositoryStorageMoveService) GetStorageMove(repositoryStorage int64, options ...RequestOptionFunc) (*SnippetRepositoryStorageMove, *Response, error)
GetStorageMove gets a single snippet repository storage move.
GitLab API docs: https://docs.gitlab.com/api/snippet_repository_storage_moves/#get-a-single-snippet-repository-storage-move
func (SnippetRepositoryStorageMoveService) GetStorageMoveForSnippet ¶
func (s SnippetRepositoryStorageMoveService) GetStorageMoveForSnippet(snippet int64, repositoryStorage int64, options ...RequestOptionFunc) (*SnippetRepositoryStorageMove, *Response, error)
GetStorageMoveForSnippet gets a single repository storage move for a snippet.
GitLab API docs: https://docs.gitlab.com/api/snippet_repository_storage_moves/#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/api/snippet_repository_storage_moves/#retrieve-all-snippet-repository-storage-moves
func (SnippetRepositoryStorageMoveService) RetrieveAllStorageMovesForSnippet ¶
func (s SnippetRepositoryStorageMoveService) RetrieveAllStorageMovesForSnippet(snippet int64, 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/api/snippet_repository_storage_moves/#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/api/snippet_repository_storage_moves/#schedule-repository-storage-moves-for-all-snippets-on-a-storage-shard
func (SnippetRepositoryStorageMoveService) ScheduleStorageMoveForSnippet ¶
func (s SnippetRepositoryStorageMoveService) ScheduleStorageMoveForSnippet(snippet int64, opts ScheduleStorageMoveForSnippetOptions, options ...RequestOptionFunc) (*SnippetRepositoryStorageMove, *Response, error)
ScheduleStorageMoveForSnippet schedule a repository to be moved for a snippet.
GitLab API docs: https://docs.gitlab.com/api/snippet_repository_storage_moves/#schedule-a-repository-storage-move-for-a-snippet
type SnippetRepositoryStorageMoveServiceInterface ¶
type SnippetRepositoryStorageMoveServiceInterface interface {
RetrieveAllStorageMoves(opts RetrieveAllSnippetStorageMovesOptions, options ...RequestOptionFunc) ([]*SnippetRepositoryStorageMove, *Response, error)
RetrieveAllStorageMovesForSnippet(snippet int64, opts RetrieveAllSnippetStorageMovesOptions, options ...RequestOptionFunc) ([]*SnippetRepositoryStorageMove, *Response, error)
GetStorageMove(repositoryStorage int64, options ...RequestOptionFunc) (*SnippetRepositoryStorageMove, *Response, error)
GetStorageMoveForSnippet(snippet int64, repositoryStorage int64, options ...RequestOptionFunc) (*SnippetRepositoryStorageMove, *Response, error)
ScheduleStorageMoveForSnippet(snippet int64, opts ScheduleStorageMoveForSnippetOptions, options ...RequestOptionFunc) (*SnippetRepositoryStorageMove, *Response, error)
ScheduleAllStorageMoves(opts ScheduleAllSnippetStorageMovesOptions, options ...RequestOptionFunc) (*Response, error)
}
type SnippetsService ¶
type SnippetsService struct {
// contains filtered or unexported fields
}
SnippetsService handles communication with the snippets related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/snippets/
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/api/snippets/#create-new-snippet
func (*SnippetsService) DeleteSnippet ¶
func (s *SnippetsService) DeleteSnippet(snippet int64, 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/api/snippets/#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/api/snippets/#list-all-public-snippets
func (*SnippetsService) GetSnippet ¶
func (s *SnippetsService) GetSnippet(snippet int64, options ...RequestOptionFunc) (*Snippet, *Response, error)
GetSnippet gets a single snippet
GitLab API docs: https://docs.gitlab.com/api/snippets/#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/api/snippets/#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/api/snippets/#list-all-snippets-for-current-user
func (*SnippetsService) SnippetContent ¶
func (s *SnippetsService) SnippetContent(snippet int64, options ...RequestOptionFunc) ([]byte, *Response, error)
SnippetContent gets a single snippet’s raw contents.
GitLab API docs: https://docs.gitlab.com/api/snippets/#single-snippet-contents
func (*SnippetsService) SnippetFileContent ¶
func (s *SnippetsService) SnippetFileContent(snippet int64, ref, filename string, options ...RequestOptionFunc) ([]byte, *Response, error)
SnippetFileContent returns the raw file content as plain text.
GitLab API docs: https://docs.gitlab.com/api/snippets/#snippet-repository-file-content
func (*SnippetsService) UpdateSnippet ¶
func (s *SnippetsService) UpdateSnippet(snippet int64, 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/api/snippets/#update-snippet
type SnippetsServiceInterface ¶
type SnippetsServiceInterface interface {
ListSnippets(opt *ListSnippetsOptions, options ...RequestOptionFunc) ([]*Snippet, *Response, error)
GetSnippet(snippet int64, options ...RequestOptionFunc) (*Snippet, *Response, error)
SnippetContent(snippet int64, options ...RequestOptionFunc) ([]byte, *Response, error)
SnippetFileContent(snippet int64, ref, filename string, options ...RequestOptionFunc) ([]byte, *Response, error)
CreateSnippet(opt *CreateSnippetOptions, options ...RequestOptionFunc) (*Snippet, *Response, error)
UpdateSnippet(snippet int64, opt *UpdateSnippetOptions, options ...RequestOptionFunc) (*Snippet, *Response, error)
DeleteSnippet(snippet int64, options ...RequestOptionFunc) (*Response, error)
ExploreSnippets(opt *ExploreSnippetsOptions, options ...RequestOptionFunc) ([]*Snippet, *Response, error)
ListAllSnippets(opt *ListAllSnippetsOptions, options ...RequestOptionFunc) ([]*Snippet, *Response, error)
}
type SquashOptionValue ¶
type SquashOptionValue string
SquashOptionValue represents a squash optional level within GitLab.
GitLab API docs: https://docs.gitlab.com/api/projects/#create-project
const ( SquashOptionNever SquashOptionValue = "never" SquashOptionAlways SquashOptionValue = "always" SquashOptionDefaultOff SquashOptionValue = "default_off" SquashOptionDefaultOn SquashOptionValue = "default_on" )
List of available squash options.
GitLab API docs: https://docs.gitlab.com/api/projects/#create-project
type StateEvent ¶
type StateEvent struct {
ID int64 `json:"id"`
User *BasicUser `json:"user"`
CreatedAt *time.Time `json:"created_at"`
ResourceType string `json:"resource_type"`
ResourceID int64 `json:"resource_id"`
State EventTypeValue `json:"state"`
}
StateEvent represents a resource state event.
GitLab API docs: https://docs.gitlab.com/api/resource_state_events/
type StateID ¶
type StateID int64
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 Statistics ¶
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"`
ContainerRegistrySize int64 `json:"container_registry_size"`
}
Statistics represents a statistics record for a group or project.
type StopEnvironmentOptions ¶
type StopEnvironmentOptions struct {
Force *bool `url:"force,omitempty" json:"force,omitempty"`
}
StopEnvironmentOptions represents the available StopEnvironment() options.
GitLab API docs: https://docs.gitlab.com/api/environments/#stop-an-environment
type SubGroupCreationLevelValue ¶
type SubGroupCreationLevelValue string
SubGroupCreationLevelValue represents a sub group creation level within GitLab.
GitLab API docs: https://docs.gitlab.com/api/groups/
const ( OwnerSubGroupCreationLevelValue SubGroupCreationLevelValue = "owner" MaintainerSubGroupCreationLevelValue SubGroupCreationLevelValue = "maintainer" )
List of available sub group creation levels.
GitLab API docs: https://docs.gitlab.com/api/groups/
type SubGroupEvent ¶
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 int64 `json:"group_id"`
ParentGroupID int64 `json:"parent_group_id"`
ParentName string `json:"parent_name"`
ParentPath string `json:"parent_path"`
ParentFullPath string `json:"parent_full_path"`
}
SubGroupEvent represents a subgroup event.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#subgroup-events
type SubmoduleCommit ¶
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"`
}
SubmoduleCommit represents a GitLab submodule commit.
GitLab API docs: https://docs.gitlab.com/api/repository_submodules/
func (SubmoduleCommit) String ¶
func (r SubmoduleCommit) String() string
type SystemHooksService ¶
type SystemHooksService struct {
// contains filtered or unexported fields
}
SystemHooksService handles communication with the system hooks related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/system_hooks/
func (*SystemHooksService) AddHook ¶
func (s *SystemHooksService) AddHook(opt *AddHookOptions, options ...RequestOptionFunc) (*Hook, *Response, error)
func (*SystemHooksService) DeleteHook ¶
func (s *SystemHooksService) DeleteHook(hook int64, options ...RequestOptionFunc) (*Response, error)
func (*SystemHooksService) GetHook ¶
func (s *SystemHooksService) GetHook(hook int64, options ...RequestOptionFunc) (*Hook, *Response, error)
func (*SystemHooksService) ListHooks ¶
func (s *SystemHooksService) ListHooks(options ...RequestOptionFunc) ([]*Hook, *Response, error)
func (*SystemHooksService) TestHook ¶
func (s *SystemHooksService) TestHook(hook int64, options ...RequestOptionFunc) (*HookEvent, *Response, error)
type SystemHooksServiceInterface ¶
type SystemHooksServiceInterface interface {
// ListHooks gets a list of system hooks.
//
// GitLab API docs:
// https://docs.gitlab.com/api/system_hooks/#list-system-hooks
ListHooks(options ...RequestOptionFunc) ([]*Hook, *Response, error)
// GetHook gets a single system hook.
//
// GitLab API docs:
// https://docs.gitlab.com/api/system_hooks/#get-system-hook
GetHook(hook int64, options ...RequestOptionFunc) (*Hook, *Response, error)
// AddHook adds a new system hook.
//
// GitLab API docs:
// https://docs.gitlab.com/api/system_hooks/#add-new-system-hook
AddHook(opt *AddHookOptions, options ...RequestOptionFunc) (*Hook, *Response, error)
// TestHook tests a system hook.
//
// GitLab API docs:
// https://docs.gitlab.com/api/system_hooks/#test-system-hook
TestHook(hook int64, options ...RequestOptionFunc) (*HookEvent, *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/api/system_hooks/#delete-system-hook
DeleteHook(hook int64, options ...RequestOptionFunc) (*Response, error)
}
type Tag ¶
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"`
CreatedAt *time.Time `json:"created_at"`
}
Tag represents a GitLab tag.
GitLab API docs: https://docs.gitlab.com/api/tags/
type TagAccessDescription ¶
type TagAccessDescription struct {
ID int64 `json:"id"`
UserID int64 `json:"user_id"`
GroupID int64 `json:"group_id"`
DeployKeyID int64 `json:"deploy_key_id"`
AccessLevel AccessLevelValue `json:"access_level"`
AccessLevelDescription string `json:"access_level_description"`
}
TagAccessDescription represents the access description for a protected tag.
GitLab API docs: https://docs.gitlab.com/api/protected_tags/
type TagEvent ¶
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 int64 `json:"user_id"`
UserName string `json:"user_name"`
UserUsername string `json:"user_username"`
UserAvatar string `json:"user_avatar"`
UserEmail string `json:"user_email"`
ProjectID int64 `json:"project_id"`
Message string `json:"message"`
Project TagEventProject `json:"project"`
Repository *Repository `json:"repository"`
Commits []*TagEventCommit `json:"commits"`
TotalCommitsCount int64 `json:"total_commits_count"`
}
TagEvent represents a tag event.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#tag-events
type TagEventCommit ¶
type TagEventCommit struct {
ID string `json:"id"`
Message string `json:"message"`
Title string `json:"title"`
Timestamp *time.Time `json:"timestamp"`
URL string `json:"url"`
Author EventCommitAuthor `json:"author"`
Added []string `json:"added"`
Modified []string `json:"modified"`
Removed []string `json:"removed"`
}
type TagEventProject ¶
type TagEventProject struct {
ID int64 `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"`
}
type TagPushSystemEvent ¶
type TagPushSystemEvent struct {
BaseSystemEvent
Before string `json:"before"`
After string `json:"after"`
Ref string `json:"ref"`
CheckoutSHA string `json:"checkout_sha"`
UserID int64 `json:"user_id"`
UserName string `json:"user_name"`
UserUsername string `json:"user_username"`
UserEmail string `json:"user_email"`
UserAvatar string `json:"user_avatar"`
ProjectID int64 `json:"project_id"`
Project TagPushSystemEventProject `json:"project"`
Commits []TagPushSystemEventCommit `json:"commits"`
TotalCommitsCount int64 `json:"total_commits_count"`
}
TagPushSystemEvent represents a tag push system event.
GitLab API docs: https://docs.gitlab.com/administration/system_hooks/#tag-events
type TagPushSystemEventCommit ¶
type TagPushSystemEventCommit struct {
ID string `json:"id"`
Message string `json:"message"`
Timestamp time.Time `json:"timestamp"`
URL string `json:"url"`
Author TagPushSystemEventCommitAuthor `json:"author"`
}
TagPushSystemEventCommit represents a tag push system event's commit.
GitLab API docs: https://docs.gitlab.com/administration/system_hooks/#tag-events
type TagPushSystemEventCommitAuthor ¶
type TagPushSystemEventCommitAuthor struct {
Name string `json:"name"`
Email string `json:"email"`
}
TagPushSystemEventCommitAuthor represents a tag push system event's commit author.
GitLab API docs: https://docs.gitlab.com/administration/system_hooks/#tag-events
type TagPushSystemEventProject ¶
type TagPushSystemEventProject 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 int64 `json:"visibility_level"`
PathWithNamespace string `json:"path_with_namespace"`
DefaultBranch string `json:"default_branch"`
Homepage string `json:"homepage"`
URL string `json:"url"`
}
TagPushSystemEventProject represents a tag push system event's project.
GitLab API docs: https://docs.gitlab.com/administration/system_hooks/#tag-events
type TagsPermissionOptions ¶
type TagsPermissionOptions struct {
UserID *int64 `url:"user_id,omitempty" json:"user_id,omitempty"`
GroupID *int64 `url:"group_id,omitempty" json:"group_id,omitempty"`
DeployKeyID *int64 `url:"deploy_key_id,omitempty" json:"deploy_key_id,omitempty"`
AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
}
TagsPermissionOptions represents a protected tag permission option.
GitLab API docs: https://docs.gitlab.com/api/protected_tags/#protect-repository-tags
type TagsService ¶
type TagsService struct {
// contains filtered or unexported fields
}
TagsService handles communication with the tags related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/tags/
func (*TagsService) CreateTag ¶
func (s *TagsService) CreateTag(pid any, opt *CreateTagOptions, options ...RequestOptionFunc) (*Tag, *Response, error)
func (*TagsService) DeleteTag ¶
func (s *TagsService) DeleteTag(pid any, tag string, options ...RequestOptionFunc) (*Response, error)
func (*TagsService) GetTag ¶
func (s *TagsService) GetTag(pid any, tag string, options ...RequestOptionFunc) (*Tag, *Response, error)
func (*TagsService) GetTagSignature ¶
func (s *TagsService) GetTagSignature(pid any, tag string, options ...RequestOptionFunc) (*X509Signature, *Response, error)
func (*TagsService) ListTags ¶
func (s *TagsService) ListTags(pid any, opt *ListTagsOptions, options ...RequestOptionFunc) ([]*Tag, *Response, error)
type TagsServiceInterface ¶
type TagsServiceInterface interface {
// ListTags gets a list of tags from a project, sorted by name in reverse
// alphabetical order.
//
// GitLab API docs:
// https://docs.gitlab.com/api/tags/#list-project-repository-tags
ListTags(pid any, opt *ListTagsOptions, 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/api/tags/#get-a-single-repository-tag
GetTag(pid any, tag string, options ...RequestOptionFunc) (*Tag, *Response, error)
// GetTagSignature a specific repository tag determined by its name. It returns 200 together
// with the signature if the tag exists. It returns 404 if the tag does not exist.
//
// GitLab API docs:
// https://docs.gitlab.com/api/tags/#get-x509-signature-of-a-tag
GetTagSignature(pid any, tag string, options ...RequestOptionFunc) (*X509Signature, *Response, error)
// CreateTag creates a new tag in the repository that points to the supplied ref.
//
// GitLab API docs:
// https://docs.gitlab.com/api/tags/#create-a-new-tag
CreateTag(pid any, opt *CreateTagOptions, options ...RequestOptionFunc) (*Tag, *Response, error)
// DeleteTag deletes a tag of a repository with given name.
//
// GitLab API docs:
// https://docs.gitlab.com/api/tags/#delete-a-tag
DeleteTag(pid any, tag string, options ...RequestOptionFunc) (*Response, error)
}
type TargetBranchRule ¶ added in v2.8.0
type TargetBranchRule struct {
ID int64 `json:"id"`
Name string `json:"name"`
TargetBranch string `json:"targetBranch"`
CreatedAt time.Time `json:"createdAt"`
}
TargetBranchRule represents a single target branch rule on a project.
GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#projecttargetbranchrule
type TasksCompletionStatus ¶
type TasksCompletionStatus struct {
Count int64 `json:"count"`
CompletedCount int64 `json:"completed_count"`
}
TasksCompletionStatus represents tasks of the issue/merge request.
type TelegramIntegration ¶
type TelegramIntegration struct {
Integration
Properties TelegramIntegrationProperties `json:"properties"`
}
TelegramIntegration represents the Telegram integration settings.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#telegram
type TelegramIntegrationProperties ¶
type TelegramIntegrationProperties struct {
Hostname string `json:"hostname,omitempty"`
Room string `json:"room,omitempty"`
Thread string `json:"thread,omitempty"`
NotifyOnlyBrokenPipelines bool `json:"notify_only_broken_pipelines,omitempty"`
BranchesToBeNotified string `json:"branches_to_be_notified,omitempty"`
}
TelegramIntegrationProperties represents Telegram specific properties.
type TelegramService ¶
type TelegramService struct {
Service
Properties *TelegramServiceProperties `json:"properties"`
}
TelegramService represents Telegram service settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#telegram
type TelegramServiceProperties ¶
type TelegramServiceProperties struct {
Room string `json:"room"`
NotifyOnlyBrokenPipelines bool `json:"notify_only_broken_pipelines"`
BranchesToBeNotified string `json:"branches_to_be_notified"`
}
TelegramServiceProperties represents Telegram specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#set-up-telegram
type TerraformState ¶
type TerraformState struct {
Name string `json:"name"`
LatestVersion TerraformStateVersion `json:"latestVersion"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
DeletedAt time.Time `json:"deletedAt"`
LockedAt time.Time `json:"lockedAt"`
}
TerraformState represents a Terraform state.
GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#terraformstate
type TerraformStateVersion ¶
type TerraformStateVersion struct {
Serial uint64 `json:"serial"`
DownloadPath string `json:"downloadPath"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
}
TerraformStateVersion represents a Terraform state version.
GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#terraformstateversion
type TerraformStatesService ¶
type TerraformStatesService struct {
// contains filtered or unexported fields
}
TerraformStatesService handles communication with the GitLab-managed Terraform state API
GitLab API docs: https://docs.gitlab.com/user/infrastructure/iac/terraform_state/
func (*TerraformStatesService) Delete ¶
func (s *TerraformStatesService) Delete(pid any, name string, options ...RequestOptionFunc) (*Response, error)
Delete deletes a single Terraform state
GitLab API docs: https://docs.gitlab.com/user/infrastructure/iac/terraform_state/
func (*TerraformStatesService) DeleteVersion ¶
func (s *TerraformStatesService) DeleteVersion(pid any, name string, serial uint64, options ...RequestOptionFunc) (*Response, error)
DeleteVersion deletes a single Terraform state version
GitLab API docs: https://docs.gitlab.com/user/infrastructure/iac/terraform_state/
func (*TerraformStatesService) Download ¶
func (s *TerraformStatesService) Download(pid any, name string, serial uint64, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
Download downloads a specific version of a Terraform state file.
The returned io.ReadCloser must be closed by the caller to avoid leaking the underlying response body.
GitLab API docs: https://docs.gitlab.com/user/infrastructure/iac/terraform_state/
func (*TerraformStatesService) DownloadLatest ¶
func (s *TerraformStatesService) DownloadLatest(pid any, name string, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
DownloadLatest downloads the latest version of a Terraform state file.
The returned io.ReadCloser must be closed by the caller to avoid leaking the underlying response body.
GitLab API docs: https://docs.gitlab.com/user/infrastructure/iac/terraform_state/
func (*TerraformStatesService) Get ¶
func (s *TerraformStatesService) Get(projectFullPath string, name string, options ...RequestOptionFunc) (*TerraformState, *Response, error)
Get returns a single Terraform state
func (*TerraformStatesService) List ¶
func (s *TerraformStatesService) List(projectFullPath string, options ...RequestOptionFunc) ([]TerraformState, *Response, error)
List returns all Terraform states
func (*TerraformStatesService) Lock ¶
func (s *TerraformStatesService) Lock(pid any, name string, options ...RequestOptionFunc) (*Response, error)
Lock locks a single Terraform state
GitLab API docs: https://docs.gitlab.com/user/infrastructure/iac/terraform_state/
func (*TerraformStatesService) Unlock ¶
func (s *TerraformStatesService) Unlock(pid any, name string, options ...RequestOptionFunc) (*Response, error)
Unlock unlocks a single Terraform state
GitLab API docs: https://docs.gitlab.com/user/infrastructure/iac/terraform_state/
type TerraformStatesServiceInterface ¶
type TerraformStatesServiceInterface interface {
List(projectFullPath string, options ...RequestOptionFunc) ([]TerraformState, *Response, error)
Get(projectFullPath string, name string, options ...RequestOptionFunc) (*TerraformState, *Response, error)
// Download downloads a specific version of a Terraform state file.
//
// The returned io.ReadCloser must be closed by the caller to avoid
// leaking the underlying response body.
//
// GitLab API docs: https://docs.gitlab.com/user/infrastructure/iac/terraform_state/
Download(pid any, name string, serial uint64, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
// DownloadLatest downloads the latest version of a Terraform state file.
//
// The returned io.ReadCloser must be closed by the caller to avoid
// leaking the underlying response body.
//
// GitLab API docs: https://docs.gitlab.com/user/infrastructure/iac/terraform_state/
DownloadLatest(pid any, name string, options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
Delete(pid any, name string, options ...RequestOptionFunc) (*Response, error)
DeleteVersion(pid any, name string, serial uint64, options ...RequestOptionFunc) (*Response, error)
Lock(pid any, name string, options ...RequestOptionFunc) (*Response, error)
Unlock(pid any, name string, options ...RequestOptionFunc) (*Response, error)
}
type TimeStats ¶
type TimeStats struct {
HumanTimeEstimate string `json:"human_time_estimate"`
HumanTotalTimeSpent string `json:"human_total_time_spent"`
TimeEstimate int64 `json:"time_estimate"`
TotalTimeSpent int64 `json:"total_time_spent"`
}
TimeStats represents the time estimates and time spent for an issue.
GitLab docs: https://docs.gitlab.com/api/issues/#time-tracking
type Todo ¶
type Todo struct {
ID int64 `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"`
}
Todo represents a GitLab todo.
GitLab API docs: https://docs.gitlab.com/api/todos/
type TodoAction ¶
type TodoAction string
TodoAction represents the available actions that can be performed on a todo.
GitLab API docs: https://docs.gitlab.com/api/todos/
const ( TodoAssigned TodoAction = "assigned" TodoMentioned TodoAction = "mentioned" TodoBuildFailed TodoAction = "build_failed" TodoMarked TodoAction = "marked" TodoApprovalRequired TodoAction = "approval_required" TodoDirectlyAddressed TodoAction = "directly_addressed" )
The available todo actions.
type TodoTarget ¶
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 int64 `json:"downvotes"`
ID any `json:"id"`
IID int64 `json:"iid"`
Labels []string `json:"labels"`
Milestone *Milestone `json:"milestone"`
ProjectID int64 `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 int64 `json:"upvotes"`
UserNotesCount int64 `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 int64 `json:"moved_to_id"`
TimeStats *TimeStats `json:"time_stats"`
Weight int64 `json:"weight"`
// Only available for type MergeRequest
MergedAt *time.Time `json:"merged_at"`
ApprovalsBeforeMerge int64 `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 int64 `json:"source_project_id"`
Squash bool `json:"squash"`
TargetBranch string `json:"target_branch"`
TargetProjectID int64 `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"`
}
TodoTarget represents a todo target of type Issue or MergeRequest
type TodoTargetType ¶
type TodoTargetType string
TodoTargetType represents the available target that can be linked to a todo.
GitLab API docs: https://docs.gitlab.com/api/todos/
const ( TodoTargetAlertManagement TodoTargetType = "AlertManagement::Alert" TodoTargetDesignManagement TodoTargetType = "DesignManagement::Design" TodoTargetIssue TodoTargetType = "Issue" TodoTargetMergeRequest TodoTargetType = "MergeRequest" )
type TodosService ¶
type TodosService struct {
// contains filtered or unexported fields
}
TodosService handles communication with the todos related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/todos/
func (*TodosService) ListTodos ¶
func (s *TodosService) ListTodos(opt *ListTodosOptions, options ...RequestOptionFunc) ([]*Todo, *Response, error)
func (*TodosService) MarkAllTodosAsDone ¶
func (s *TodosService) MarkAllTodosAsDone(options ...RequestOptionFunc) (*Response, error)
func (*TodosService) MarkTodoAsDone ¶
func (s *TodosService) MarkTodoAsDone(id int64, options ...RequestOptionFunc) (*Response, error)
type TodosServiceInterface ¶
type TodosServiceInterface interface {
// 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/api/todos/#get-a-list-of-to-do-items
ListTodos(opt *ListTodosOptions, options ...RequestOptionFunc) ([]*Todo, *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/api/todos/#mark-a-to-do-item-as-done
MarkTodoAsDone(id int64, options ...RequestOptionFunc) (*Response, error)
// MarkAllTodosAsDone marks all pending todos for the current user as done.
//
// GitLab API docs: https://docs.gitlab.com/api/todos/#mark-all-to-do-items-as-done
MarkAllTodosAsDone(options ...RequestOptionFunc) (*Response, error)
}
type Topic ¶
type Topic struct {
ID int64 `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"`
}
Topic represents a GitLab project topic.
GitLab API docs: https://docs.gitlab.com/api/topics/
type TopicAvatar ¶
TopicAvatar represents a GitLab topic avatar.
func (*TopicAvatar) MarshalJSON ¶
func (a *TopicAvatar) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
type TopicsService ¶
type TopicsService struct {
// contains filtered or unexported fields
}
TopicsService handles communication with the topics related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/topics/
func (*TopicsService) CreateTopic ¶
func (s *TopicsService) CreateTopic(opt *CreateTopicOptions, options ...RequestOptionFunc) (*Topic, *Response, error)
func (*TopicsService) DeleteTopic ¶
func (s *TopicsService) DeleteTopic(topic int64, options ...RequestOptionFunc) (*Response, error)
func (*TopicsService) GetTopic ¶
func (s *TopicsService) GetTopic(topic int64, options ...RequestOptionFunc) (*Topic, *Response, error)
func (*TopicsService) ListTopics ¶
func (s *TopicsService) ListTopics(opt *ListTopicsOptions, options ...RequestOptionFunc) ([]*Topic, *Response, error)
func (*TopicsService) UpdateTopic ¶
func (s *TopicsService) UpdateTopic(topic int64, opt *UpdateTopicOptions, options ...RequestOptionFunc) (*Topic, *Response, error)
type TopicsServiceInterface ¶
type TopicsServiceInterface interface {
// ListTopics returns a list of project topics in the GitLab instance ordered
// by number of associated projects.
//
// GitLab API docs: https://docs.gitlab.com/api/topics/#list-topics
ListTopics(opt *ListTopicsOptions, options ...RequestOptionFunc) ([]*Topic, *Response, error)
// GetTopic gets a project topic by ID.
//
// GitLab API docs: https://docs.gitlab.com/api/topics/#get-a-topic
GetTopic(topic int64, options ...RequestOptionFunc) (*Topic, *Response, error)
// CreateTopic creates a new project topic.
//
// GitLab API docs:
// https://docs.gitlab.com/api/topics/#create-a-project-topic
CreateTopic(opt *CreateTopicOptions, 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/api/topics/#update-a-project-topic
UpdateTopic(topic int64, opt *UpdateTopicOptions, options ...RequestOptionFunc) (*Topic, *Response, error)
// DeleteTopic deletes a project topic. Only available to administrators.
//
// GitLab API docs:
// https://docs.gitlab.com/api/topics/#delete-a-project-topic
DeleteTopic(topic int64, options ...RequestOptionFunc) (*Response, error)
}
type TrackEventOptions ¶
type TrackEventOptions struct {
Event string `json:"event" url:"event"`
SendToSnowplow *bool `json:"send_to_snowplow,omitempty" url:"send_to_snowplow,omitempty"`
NamespaceID *int64 `json:"namespace_id,omitempty" url:"namespace_id,omitempty"`
ProjectID *int64 `json:"project_id,omitempty" url:"project_id,omitempty"`
AdditionalProperties map[string]string `json:"additional_properties,omitempty" url:"additional_properties,omitempty"`
}
TrackEventOptions represents the available options for tracking events.
type TrackEventsOptions ¶
type TrackEventsOptions struct {
Events []TrackEventOptions `json:"events" url:"events"`
}
TrackEventsOptions represents the available options for tracking multiple events.
type TransferProjectOptions ¶
type TransferProjectOptions struct {
Namespace any `url:"namespace,omitempty" json:"namespace,omitempty"`
}
TransferProjectOptions represents the available TransferProject() options.
GitLab API docs: https://docs.gitlab.com/api/projects/#transfer-a-project-to-a-new-namespace
type TransferSubGroupOptions ¶
type TransferSubGroupOptions struct {
GroupID *int64 `url:"group_id,omitempty" json:"group_id,omitempty"`
}
TransferSubGroupOptions represents the available TransferSubGroup() options.
GitLab API docs: https://docs.gitlab.com/api/groups/#transfer-a-group
type TreeNode ¶
type TreeNode struct {
ID string `json:"id"`
Name string `json:"name"`
Type string `json:"type"`
Path string `json:"path"`
Mode string `json:"mode"`
}
TreeNode represents a GitLab repository file or directory.
GitLab API docs: https://docs.gitlab.com/api/repositories/
type URLValidationError ¶
URLValidationError wraps URL parsing errors with helpful context
func (*URLValidationError) Error ¶
func (e *URLValidationError) Error() string
type Unauthenticated ¶
type Unauthenticated struct{}
Unauthenticated is an authentication source for unauthenticated clients
type UpdateAdminCompliancePolicySettingsOptions ¶
type UpdateAdminCompliancePolicySettingsOptions struct {
CSPNamespaceID *int64 `url:"csp_namespace_id,omitempty" json:"csp_namespace_id,omitempty"`
}
UpdateAdminCompliancePolicySettingsOptions represents the available UpdateCompliancePolicySettings() options.
GitLab API docs: https://docs.gitlab.com/api/compliance_policy_settings/#update-security-policy-settings
type UpdateBroadcastMessageOptions ¶
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"`
Theme *string `url:"theme,omitempty" json:"theme,omitempty"`
}
UpdateBroadcastMessageOptions represents the available CreateBroadcastMessage() options.
GitLab API docs: https://docs.gitlab.com/api/broadcast_messages/#update-a-broadcast-message
type UpdateCommitDiscussionNoteOptions ¶
type UpdateCommitDiscussionNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}
UpdateCommitDiscussionNoteOptions represents the available UpdateCommitDiscussion() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#modify-an-existing-commit-thread-note
type UpdateContainerRegistryProtectionRuleOptions ¶
type UpdateContainerRegistryProtectionRuleOptions struct {
RepositoryPathPattern *string `url:"repository_path_pattern,omitempty" json:"repository_path_pattern,omitempty"`
MinimumAccessLevelForPush *ProtectionRuleAccessLevel `url:"minimum_access_level_for_push,omitempty" json:"minimum_access_level_for_push,omitempty"`
MinimumAccessLevelForDelete *ProtectionRuleAccessLevel `url:"minimum_access_level_for_delete,omitempty" json:"minimum_access_level_for_delete,omitempty"`
}
UpdateContainerRegistryProtectionRuleOptions represents the available UpdateContainerRegistryProtectionRule() options.
GitLab API docs: https://docs.gitlab.com/api/container_repository_protection_rules/#update-a-container-repository-protection-rule
type UpdateDeployKeyOptions ¶
type UpdateDeployKeyOptions struct {
Title *string `url:"title,omitempty" json:"title,omitempty"`
CanPush *bool `url:"can_push,omitempty" json:"can_push,omitempty"`
}
UpdateDeployKeyOptions represents the available UpdateDeployKey() options.
GitLab API docs: https://docs.gitlab.com/api/deploy_keys/#update-deploy-key
type UpdateDraftNoteOptions ¶
type UpdateDraftNoteOptions struct {
Note *string `url:"note,omitempty" json:"note,omitempty"`
Position *PositionOptions `url:"position,omitempty" json:"position,omitempty"`
}
UpdateDraftNoteOptions represents the available UpdateDraftNote() options.
GitLab API docs: GitLab API docs: https://docs.gitlab.com/api/draft_notes/#create-a-draft-note
type UpdateEnvironmentAccessOptions ¶
type UpdateEnvironmentAccessOptions struct {
AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
ID *int64 `url:"id,omitempty" json:"id,omitempty"`
UserID *int64 `url:"user_id,omitempty" json:"user_id,omitempty"`
GroupID *int64 `url:"group_id,omitempty" json:"group_id,omitempty"`
GroupInheritanceType *int64 `url:"group_inheritance_type,omitempty" json:"group_inheritance_type,omitempty"`
Destroy *bool `url:"_destroy,omitempty" json:"_destroy,omitempty"`
}
UpdateEnvironmentAccessOptions represents the options for updates to an access description for a protected environment.
GitLab API docs: https://docs.gitlab.com/api/protected_environments/#update-a-protected-environment
type UpdateEnvironmentApprovalRuleOptions ¶
type UpdateEnvironmentApprovalRuleOptions struct {
ID *int64 `url:"id,omitempty" json:"id,omitempty"`
UserID *int64 `url:"user_id,omitempty" json:"user_id,omitempty"`
GroupID *int64 `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 *int64 `url:"required_approvals,omitempty" json:"required_approvals,omitempty"`
GroupInheritanceType *int64 `url:"group_inheritance_type,omitempty" json:"group_inheritance_type,omitempty"`
Destroy *bool `url:"_destroy,omitempty" json:"_destroy,omitempty"`
}
UpdateEnvironmentApprovalRuleOptions represents the updates to the approval rules for a protected environment.
GitLab API docs: https://docs.gitlab.com/api/protected_environments/#update-a-protected-environment
type UpdateEpicDiscussionNoteOptions ¶
type UpdateEpicDiscussionNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}
UpdateEpicDiscussionNoteOptions represents the available UpdateEpicDiscussion() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#modify-existing-epic-thread-note
type UpdateEpicIssueAssignmentOptions ¶
type UpdateEpicIssueAssignmentOptions struct {
*ListOptions
MoveBeforeID *int64 `url:"move_before_id,omitempty" json:"move_before_id,omitempty"`
MoveAfterID *int64 `url:"move_after_id,omitempty" json:"move_after_id,omitempty"`
}
type UpdateEpicNoteOptions ¶
type UpdateEpicNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
}
UpdateEpicNoteOptions represents the available UpdateEpicNote() options. Will be removed in v5 of the API, use Work Items API instead
GitLab API docs: https://docs.gitlab.com/api/notes/#modify-existing-epic-note
type UpdateEpicOptions ¶
type UpdateEpicOptions struct {
AddLabels *LabelOptions `url:"add_labels,omitempty" json:"add_labels,omitempty"`
Confidential *bool `url:"confidential,omitempty" json:"confidential,omitempty"`
Description *string `url:"description,omitempty" json:"description,omitempty"`
DueDateFixed *ISOTime `url:"due_date_fixed,omitempty" json:"due_date_fixed,omitempty"`
DueDateIsFixed *bool `url:"due_date_is_fixed,omitempty" json:"due_date_is_fixed,omitempty"`
Labels *LabelOptions `url:"labels,comma,omitempty" json:"labels,omitempty"`
ParentID *int64 `url:"parent_id,omitempty" json:"parent_id,omitempty"`
RemoveLabels *LabelOptions `url:"remove_labels,omitempty" json:"remove_labels,omitempty"`
StartDateFixed *ISOTime `url:"start_date_fixed,omitempty" json:"start_date_fixed,omitempty"`
StartDateIsFixed *bool `url:"start_date_is_fixed,omitempty" json:"start_date_is_fixed,omitempty"`
StateEvent *string `url:"state_event,omitempty" json:"state_event,omitempty"`
Title *string `url:"title,omitempty" json:"title,omitempty"`
UpdatedAt *time.Time `url:"updated_at,omitempty" json:"updated_at,omitempty"`
Color *string `url:"color,omitempty" json:"color,omitempty"`
}
UpdateEpicOptions represents the available UpdateEpic() options. Will be removed in v5 of the API, use Work Items API instead
GitLab API docs: https://docs.gitlab.com/api/epics/#update-epic
type UpdateExternalStatusCheckOptions ¶
type UpdateExternalStatusCheckOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
ExternalURL *string `url:"external_url,omitempty" json:"external_url,omitempty"`
ProtectedBranchIDs *[]int64 `url:"protected_branch_ids,omitempty" json:"protected_branch_ids,omitempty"`
}
UpdateExternalStatusCheckOptions represents the available UpdateExternalStatusCheck() options. Deprecated: to be removed in 1.0; use UpdateProjectExternalStatusCheckOptions instead
GitLab API docs: https://docs.gitlab.com/api/status_checks/#update-external-status-check-service
type UpdateFeatureFlagUserListOptions ¶
type UpdateFeatureFlagUserListOptions struct {
Name string `url:"name,omitempty" json:"name,omitempty"`
UserXIDs string `url:"user_xids,omitempty" json:"user_xids,omitempty"`
}
UpdateFeatureFlagUserListOptions represents the available UpdateFeatureFlagUserList() options.
GitLab API docs: https://docs.gitlab.com/api/feature_flag_user_lists/#update-a-feature-flag-user-list
type UpdateFileOptions ¶
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"`
}
UpdateFileOptions represents the available UpdateFile() options.
GitLab API docs: https://docs.gitlab.com/api/repository_files/#update-existing-file-in-repository
type UpdateFreezePeriodOptions ¶
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"`
}
UpdateFreezePeriodOptions represents the available UpdateFreezePeriodOptions() options.
GitLab API docs: https://docs.gitlab.com/api/freeze_periods/#update-a-freeze-period
type UpdateGeoNodesOptions ¶
type UpdateGeoNodesOptions struct {
ID *int64 `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 *int64 `url:"files_max_capacity,omitempty" json:"files_max_capacity,omitempty"`
ReposMaxCapacity *int64 `url:"repos_max_capacity,omitempty" json:"repos_max_capacity,omitempty"`
VerificationMaxCapacity *int64 `url:"verification_max_capacity,omitempty" json:"verification_max_capacity,omitempty"`
ContainerRepositoriesMaxCapacity *int64 `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 *[]int64 `url:"selective_sync_namespace_ids,omitempty" json:"selective_sync_namespace_ids,omitempty"`
MinimumReverificationInterval *int64 `url:"minimum_reverification_interval,omitempty" json:"minimum_reverification_interval,omitempty"`
}
UpdateGeoNodesOptions represents the available EditGeoNode() options. Deprecated: will be removed in v5 of the API, use Geo Sites API instead
GitLab API docs: https://docs.gitlab.com/api/geo_nodes/#edit-a-geo-node
type UpdateGroupEnvironmentAccessOptions ¶
type UpdateGroupEnvironmentAccessOptions struct {
AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
ID *int64 `url:"id,omitempty" json:"id,omitempty"`
UserID *int64 `url:"user_id,omitempty" json:"user_id,omitempty"`
GroupID *int64 `url:"group_id,omitempty" json:"group_id,omitempty"`
GroupInheritanceType *int64 `url:"group_inheritance_type,omitempty" json:"group_inheritance_type,omitempty"`
Destroy *bool `url:"_destroy,omitempty" json:"_destroy,omitempty"`
}
UpdateGroupEnvironmentAccessOptions represents the options for updates to the access description for a group-level protected environment.
GitLab API docs: https://docs.gitlab.com/api/group_protected_environments/#update-a-protected-environment
type UpdateGroupEnvironmentApprovalRuleOptions ¶
type UpdateGroupEnvironmentApprovalRuleOptions struct {
ID *int64 `url:"id,omitempty" json:"id,omitempty"`
UserID *int64 `url:"user_id,omitempty" json:"user_id,omitempty"`
GroupID *int64 `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 *int64 `url:"required_approvals,omitempty" json:"required_approvals,omitempty"`
GroupInheritanceType *int64 `url:"group_inheritance_type,omitempty" json:"group_inheritance_type,omitempty"`
Destroy *bool `url:"_destroy,omitempty" json:"_destroy,omitempty"`
}
UpdateGroupEnvironmentApprovalRuleOptions represents the updates to the approval rules for a group-level protected environment.
GitLab API docs: https://docs.gitlab.com/api/group_protected_environments/#update-a-protected-environment
type UpdateGroupIssueBoardListOptions ¶
type UpdateGroupIssueBoardListOptions struct {
Position *int64 `url:"position" json:"position"`
}
UpdateGroupIssueBoardListOptions represents the available UpdateGroupIssueBoardList() options.
GitLab API docs: https://docs.gitlab.com/api/group_boards/#edit-group-issue-board-list
type UpdateGroupIssueBoardOptions ¶
type UpdateGroupIssueBoardOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
AssigneeID *int64 `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
MilestoneID *int64 `url:"milestone_id,omitempty" json:"milestone_id,omitempty"`
Labels *LabelOptions `url:"labels,omitempty" json:"labels,omitempty"`
Weight *int64 `url:"weight,omitempty" json:"weight,omitempty"`
}
UpdateGroupIssueBoardOptions represents a group issue board.
GitLab API docs: https://docs.gitlab.com/api/group_boards/#update-a-group-issue-board
type UpdateGroupLabelOptions ¶
type UpdateGroupLabelOptions 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 Nullable[int64] `url:"priority,omitempty" json:"priority,omitempty"`
}
UpdateGroupLabelOptions represents the available UpdateGroupLabel() options.
GitLab API docs: https://docs.gitlab.com/api/group_labels/#update-a-group-label
type UpdateGroupMergeRequestApprovalSettingsOptions ¶
type UpdateGroupMergeRequestApprovalSettingsOptions struct {
AllowAuthorApproval *bool `url:"allow_author_approval,omitempty" json:"allow_author_approval,omitempty"`
AllowCommitterApproval *bool `url:"allow_committer_approval,omitempty" json:"allow_committer_approval,omitempty"`
AllowOverridesToApproverListPerMergeRequest *bool `` /* 134-byte string literal not displayed */
RetainApprovalsOnPush *bool `url:"retain_approvals_on_push,omitempty" json:"retain_approvals_on_push,omitempty"`
RequireReauthenticationToApprove *bool `url:"require_reauthentication_to_approve,omitempty" json:"require_reauthentication_to_approve,omitempty"`
}
UpdateGroupMergeRequestApprovalSettingsOptions represents the available UpdateGroupRequestApprovalSettings() options.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approval_settings/#update-group-mr-approval-settings
type UpdateGroupMilestoneOptions ¶
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"`
}
UpdateGroupMilestoneOptions represents the available UpdateGroupMilestone() options.
GitLab API docs: https://docs.gitlab.com/api/group_milestones/#edit-milestone
type UpdateGroupOptions ¶
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"`
DefaultBranch *string `url:"default_branch,omitempty" json:"default_branch,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"`
RequireTwoFactorAuth *bool `url:"require_two_factor_authentication,omitempty" json:"require_two_factor_authentication,omitempty"`
TwoFactorGracePeriod *int64 `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"`
MaxArtifactsSize *int64 `url:"max_artifacts_size,omitempty" json:"max_artifacts_size,omitempty"`
RequestAccessEnabled *bool `url:"request_access_enabled,omitempty" json:"request_access_enabled,omitempty"`
DefaultBranchProtectionDefaults *DefaultBranchProtectionDefaultsOptions `url:"default_branch_protection_defaults,omitempty" json:"default_branch_protection_defaults,omitempty"`
FileTemplateProjectID *int64 `url:"file_template_project_id,omitempty" json:"file_template_project_id,omitempty"`
PreventForkingOutsideGroup *bool `url:"prevent_forking_outside_group,omitempty" json:"prevent_forking_outside_group,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"`
AllowedEmailDomainsList *string `url:"allowed_email_domains_list,omitempty" json:"allowed_email_domains_list,omitempty"`
WikiAccessLevel *AccessControlValue `url:"wiki_access_level,omitempty" json:"wiki_access_level,omitempty"`
OnlyAllowMergeIfPipelineSucceeds *bool `url:"only_allow_merge_if_pipeline_succeeds,omitempty" json:"only_allow_merge_if_pipeline_succeeds,omitempty"`
AllowMergeOnSkippedPipeline *bool `url:"allow_merge_on_skipped_pipeline,omitempty" json:"allow_merge_on_skipped_pipeline,omitempty"`
OnlyAllowMergeIfAllDiscussionsAreResolved *bool `` /* 130-byte string literal not displayed */
// Deprecated: Use EmailsEnabled instead
EmailsDisabled *bool `url:"emails_disabled,omitempty" json:"emails_disabled,omitempty"`
// Deprecated: Use DefaultBranchProtectionDefaults instead
DefaultBranchProtection *int64 `url:"default_branch_protection,omitempty" json:"default_branch_protection,omitempty"`
EnabledGitAccessProtocol *EnabledGitAccessProtocolValue `url:"enabled_git_access_protocol,omitempty" json:"enabled_git_access_protocol,omitempty"`
StepUpAuthRequiredOAuthProvider *string `url:"step_up_auth_required_oauth_provider,omitempty" json:"step_up_auth_required_oauth_provider,omitempty"`
// The following fields are Premium and Ultimate only.
UniqueProjectDownloadLimit *int64 `url:"unique_project_download_limit,omitempty" json:"unique_project_download_limit,omitempty"`
UniqueProjectDownloadLimitIntervalInSeconds *int64 `` /* 132-byte string literal not displayed */
UniqueProjectDownloadLimitAllowlist *[]string `url:"unique_project_download_limit_allowlist,omitempty" json:"unique_project_download_limit_allowlist,omitempty"`
UniqueProjectDownloadLimitAlertlist *[]int64 `url:"unique_project_download_limit_alertlist,omitempty" json:"unique_project_download_limit_alertlist,omitempty"`
AutoBanUserOnExcessiveProjectsDownload *bool `url:"auto_ban_user_on_excessive_projects_download,omitempty" json:"auto_ban_user_on_excessive_projects_download,omitempty"`
DuoAvailability *DuoAvailabilityValue `url:"duo_availability,omitempty" json:"duo_availability,omitempty"`
ExperimentFeaturesEnabled *bool `url:"experiment_features_enabled,omitempty" json:"experiment_features_enabled,omitempty"`
MathRenderingLimitsEnabled *bool `url:"math_rendering_limits_enabled,omitempty" json:"math_rendering_limits_enabled,omitempty"`
LockMathRenderingLimitsEnabled *bool `url:"lock_math_rendering_limits_enabled,omitempty" json:"lock_math_rendering_limits_enabled,omitempty"`
DuoFeaturesEnabled *bool `url:"duo_features_enabled,omitempty" json:"duo_features_enabled,omitempty"`
LockDuoFeaturesEnabled *bool `url:"lock_duo_features_enabled,omitempty" json:"lock_duo_features_enabled,omitempty"`
WebBasedCommitSigningEnabled *bool `url:"web_based_commit_signing_enabled,omitempty" json:"web_based_commit_signing_enabled,omitempty"`
AllowPersonalSnippets *bool `url:"allow_personal_snippets,omitempty" json:"allow_personal_snippets,omitempty"`
}
UpdateGroupOptions represents the available UpdateGroup() options.
GitLab API docs: https://docs.gitlab.com/api/groups/#update-group-attributes
type UpdateGroupProtectedBranchOptions ¶
type UpdateGroupProtectedBranchOptions 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 *[]*GroupBranchPermissionOptions `url:"allowed_to_push,omitempty" json:"allowed_to_push,omitempty"`
AllowedToMerge *[]*GroupBranchPermissionOptions `url:"allowed_to_merge,omitempty" json:"allowed_to_merge,omitempty"`
AllowedToUnprotect *[]*GroupBranchPermissionOptions `url:"allowed_to_unprotect,omitempty" json:"allowed_to_unprotect,omitempty"`
}
UpdateGroupProtectedBranchOptions represents the available UpdateProtectedBranch() options.
GitLab API docs: https://docs.gitlab.com/api/group_protected_branches/#update-a-protected-branch
type UpdateGroupProtectedEnvironmentOptions ¶
type UpdateGroupProtectedEnvironmentOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
DeployAccessLevels *[]*UpdateGroupEnvironmentAccessOptions `url:"deploy_access_levels,omitempty" json:"deploy_access_levels,omitempty"`
RequiredApprovalCount *int64 `url:"required_approval_count,omitempty" json:"required_approval_count,omitempty"`
ApprovalRules *[]*UpdateGroupEnvironmentApprovalRuleOptions `url:"approval_rules,omitempty" json:"approval_rules,omitempty"`
}
UpdateGroupProtectedEnvironmentOptions represents the available UpdateGroupProtectedEnvironment() options.
GitLab API docs: https://docs.gitlab.com/api/group_protected_environments/#update-a-protected-environment
type UpdateGroupSecuritySettingsOptions ¶
type UpdateGroupSecuritySettingsOptions struct {
SecretPushProtectionEnabled *bool `url:"secret_push_protection_enabled,omitempty" json:"secret_push_protection_enabled,omitempty"`
ProjectsToExclude *[]int64 `url:"projects_to_exclude,omitempty" json:"projects_to_exclude,omitempty"`
}
UpdateGroupSecuritySettingsOptions represent the request options for updating the group security settings.
GitLab API docs: https://docs.gitlab.com/api/group_security_settings/#update-secret_push_protection_enabled-setting
type UpdateGroupVariableOptions ¶
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"`
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"`
}
UpdateGroupVariableOptions represents the available UpdateVariable() options.
GitLab API docs: https://docs.gitlab.com/api/group_level_variables/#update-variable
type UpdateInstanceVariableOptions ¶
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"`
}
UpdateInstanceVariableOptions represents the available UpdateVariable() options.
GitLab API docs: https://docs.gitlab.com/api/instance_level_ci_variables/#update-instance-variable
type UpdateIssueBoardListOptions ¶
type UpdateIssueBoardListOptions struct {
Position *int64 `url:"position" json:"position"`
}
UpdateIssueBoardListOptions represents the available UpdateIssueBoardList() options.
GitLab API docs: https://docs.gitlab.com/api/boards/#reorder-a-list-in-a-board
type UpdateIssueBoardOptions ¶
type UpdateIssueBoardOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
AssigneeID *int64 `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
MilestoneID *int64 `url:"milestone_id,omitempty" json:"milestone_id,omitempty"`
Labels *LabelOptions `url:"labels,omitempty" json:"labels,omitempty"`
Weight *int64 `url:"weight,omitempty" json:"weight,omitempty"`
HideBacklogList *bool `url:"hide_backlog_list,omitempty" json:"hide_backlog_list,omitempty"`
HideClosedList *bool `url:"hide_closed_list,omitempty" json:"hide_closed_list,omitempty"`
}
UpdateIssueBoardOptions represents the available UpdateIssueBoard() options.
GitLab API docs: https://docs.gitlab.com/api/boards/#update-an-issue-board
type UpdateIssueDiscussionNoteOptions ¶
type UpdateIssueDiscussionNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}
UpdateIssueDiscussionNoteOptions represents the available UpdateIssueDiscussion() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#modify-existing-issue-thread-note
type UpdateIssueNoteOptions ¶
type UpdateIssueNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
}
UpdateIssueNoteOptions represents the available UpdateIssueNote() options.
GitLab API docs: https://docs.gitlab.com/api/notes/#modify-existing-issue-note
type UpdateIssueOptions ¶
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"`
// AssigneeID is a CE-only attribute. For EE, use AssigneeIDs instead.
AssigneeID *int64 `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
// AssigneeIDs is a EE-only attribute. For CE, use AssigneeID instead.
AssigneeIDs *[]int64 `url:"assignee_ids,omitempty" json:"assignee_ids,omitempty"`
MilestoneID *int64 `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 *int64 `url:"epic_id,omitempty" json:"epic_id,omitempty"`
Weight *int64 `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"`
ResetDueDate bool `url:"-" json:"-"`
ResetEpicID bool `url:"-" json:"-"`
ResetMilestoneID bool `url:"-" json:"-"`
ResetWeight bool `url:"-" json:"-"`
}
UpdateIssueOptions represents the available UpdateIssue() options.
To reset the due date, epic, milestone, or weight of the issue, set the ResetDueDate, ResetEpic, ResetMilestone, or ResetWeight field to true.
GitLab API docs: https://docs.gitlab.com/api/issues/#edit-an-issue
func (UpdateIssueOptions) MarshalJSON ¶
func (o UpdateIssueOptions) MarshalJSON() ([]byte, error)
MarshalJSON implements custom JSON marshaling for UpdateIssueOptions. This is needed to support emitting a literal `null` when the field needs to be removed.
type UpdateLabelOptions ¶
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 Nullable[int64] `url:"priority,omitempty" json:"priority,omitempty"`
Archived *bool `url:"archived,omitempty" json:"archived,omitempty"`
}
UpdateLabelOptions represents the available UpdateLabel() options.
GitLab API docs: https://docs.gitlab.com/api/labels/#update-a-project-label
type UpdateMergeRequestApprovalRuleOptions ¶
type UpdateMergeRequestApprovalRuleOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
ApprovalsRequired *int64 `url:"approvals_required,omitempty" json:"approvals_required,omitempty"`
UserIDs *[]int64 `url:"user_ids,omitempty" json:"user_ids,omitempty"`
GroupIDs *[]int64 `url:"group_ids,omitempty" json:"group_ids,omitempty"`
}
UpdateMergeRequestApprovalRuleOptions represents the available UpdateApprovalRule() options.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#update-merge-request-rule
type UpdateMergeRequestDiscussionNoteOptions ¶
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"`
}
UpdateMergeRequestDiscussionNoteOptions represents the available UpdateMergeRequestDiscussion() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#modify-an-existing-merge-request-thread-note
type UpdateMergeRequestNoteOptions ¶
type UpdateMergeRequestNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
}
UpdateMergeRequestNoteOptions represents the available UpdateMergeRequestNote() options.
GitLab API docs: https://docs.gitlab.com/api/notes/#modify-existing-merge-request-note
type UpdateMergeRequestOptions ¶
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 *int64 `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
AssigneeIDs *[]int64 `url:"assignee_ids,omitempty" json:"assignee_ids,omitempty"`
ReviewerIDs *[]int64 `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 *int64 `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"`
}
UpdateMergeRequestOptions represents the available UpdateMergeRequest() options.
GitLab API docs: https://docs.gitlab.com/api/merge_requests/#update-mr
type UpdateMetricImageOptions ¶
type UpdateMetricImageOptions struct {
URL *string `url:"url,omitempty" json:"url,omitempty"`
URLText *string `url:"url_text,omitempty" json:"url_text,omitempty"`
}
UpdateMetricImageOptions represents the available UpdateMetricImage() options.
GitLab API docs: https://docs.gitlab.com/api/alert_management_alerts/#update-metric-image
type UpdateMilestoneOptions ¶
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"`
}
UpdateMilestoneOptions represents the available UpdateMilestone() options.
GitLab API docs: https://docs.gitlab.com/api/milestones/#edit-milestone
type UpdatePackageProtectionRulesOptions ¶
type UpdatePackageProtectionRulesOptions struct {
PackageNamePattern *string `url:"package_name_pattern" json:"package_name_pattern"`
PackageType *string `url:"package_type" json:"package_type"`
MinimumAccessLevelForDelete Nullable[ProtectionRuleAccessLevel] `url:"minimum_access_level_for_delete,omitempty" json:"minimum_access_level_for_delete,omitempty"`
MinimumAccessLevelForPush Nullable[ProtectionRuleAccessLevel] `url:"minimum_access_level_for_push,omitempty" json:"minimum_access_level_for_push,omitempty"`
}
UpdatePackageProtectionRulesOptions represents the available UpdatePackageProtectionRules() options.
GitLab API docs: https://docs.gitlab.com/api/project_packages_protection_rules/#update-a-package-protection-rule
type UpdatePagesDomainOptions ¶
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"`
}
UpdatePagesDomainOptions represents the available UpdatePagesDomain() options.
GitLab API docs: https://docs.gitlab.com/api/pages_domains/#update-pages-domain
type UpdatePagesOptions ¶
type UpdatePagesOptions struct {
PagesUniqueDomainEnabled *bool `url:"pages_unique_domain_enabled,omitempty" json:"pages_unique_domain_enabled,omitempty"`
PagesHTTPSOnly *bool `url:"pages_https_only,omitempty" json:"pages_https_only,omitempty"`
PagesPrimaryDomain *string `url:"pages_primary_domain,omitempty" json:"pages_primary_domain,omitempty"`
}
UpdatePagesOptions represents the available UpdatePages() options.
GitLab API docs: https://docs.gitlab.com/api/pages/#update-pages-settings-for-a-project
type UpdatePipelineMetadataOptions ¶
type UpdatePipelineMetadataOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
}
UpdatePipelineMetadataOptions represents the available UpdatePipelineMetadata() options.
GitLab API docs: https://docs.gitlab.com/api/pipelines/#update-pipeline-metadata
type UpdateProjectDeploymentOptions ¶
type UpdateProjectDeploymentOptions struct {
Status *DeploymentStatusValue `url:"status,omitempty" json:"status,omitempty"`
}
UpdateProjectDeploymentOptions represents the available UpdateProjectDeployment() options.
GitLab API docs: https://docs.gitlab.com/api/deployments/#update-a-deployment
type UpdateProjectExternalStatusCheckOptions ¶
type UpdateProjectExternalStatusCheckOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
ExternalURL *string `url:"external_url,omitempty" json:"external_url,omitempty"`
ProtectedBranchIDs *[]int64 `url:"protected_branch_ids,omitempty" json:"protected_branch_ids,omitempty"`
}
UpdateProjectExternalStatusCheckOptions represents the available UpdateProjectExternalStatusCheck() options.
GitLab API docs: https://docs.gitlab.com/api/status_checks/#update-external-status-check-service
type UpdateProjectFeatureFlagOptions ¶
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"`
}
UpdateProjectFeatureFlagOptions represents the available UpdateProjectFeatureFlag() options.
GitLab API docs: https://docs.gitlab.com/api/feature_flags/#update-a-feature-flag
type UpdateProjectLevelRuleOptions ¶
type UpdateProjectLevelRuleOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
ApprovalsRequired *int64 `url:"approvals_required,omitempty" json:"approvals_required,omitempty"`
UserIDs *[]int64 `url:"user_ids,omitempty" json:"user_ids,omitempty"`
GroupIDs *[]int64 `url:"group_ids,omitempty" json:"group_ids,omitempty"`
ProtectedBranchIDs *[]int64 `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"`
Usernames *[]string `url:"usernames,omitempty" json:"usernames,omitempty"`
}
UpdateProjectLevelRuleOptions represents the available UpdateProjectApprovalRule() options.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approvals/#update-project-approval-rule
type UpdateProjectMergeRequestApprovalSettingsOptions ¶
type UpdateProjectMergeRequestApprovalSettingsOptions struct {
AllowAuthorApproval *bool `url:"allow_author_approval,omitempty" json:"allow_author_approval,omitempty"`
AllowCommitterApproval *bool `url:"allow_committer_approval,omitempty" json:"allow_committer_approval,omitempty"`
AllowOverridesToApproverListPerMergeRequest *bool `` /* 134-byte string literal not displayed */
RetainApprovalsOnPush *bool `url:"retain_approvals_on_push,omitempty" json:"retain_approvals_on_push,omitempty"`
RequireReauthenticationToApprove *bool `url:"require_reauthentication_to_approve,omitempty" json:"require_reauthentication_to_approve,omitempty"`
SelectiveCodeOwnerRemovals *bool `url:"selective_code_owner_removals,omitempty" json:"selective_code_owner_removals,omitempty"`
}
UpdateProjectMergeRequestApprovalSettingsOptions represents the available UpdateProjectMergeRequestApprovalSettings() options.
GitLab API docs: https://docs.gitlab.com/api/merge_request_approval_settings/#update-project-mr-approval-settings
type UpdateProjectSecuritySettingsOptions ¶
type UpdateProjectSecuritySettingsOptions struct {
SecretPushProtectionEnabled *bool `url:"secret_push_protection_enabled,omitempty" json:"secret_push_protection_enabled,omitempty"`
}
UpdateProjectSecuritySettingsOptions represent the request options for updating the project security settings.
GitLab API docs: https://docs.gitlab.com/api/project_security_settings/#update-secret_push_protection_enabled-setting
type UpdateProjectSnippetOptions ¶
type UpdateProjectSnippetOptions struct {
Title *string `url:"title,omitempty" json:"title,omitempty"`
Description *string `url:"description,omitempty" json:"description,omitempty"`
Visibility *VisibilityValue `url:"visibility,omitempty" json:"visibility,omitempty"`
Files *[]*UpdateSnippetFileOptions `url:"files,omitempty" json:"files,omitempty"`
// Deprecated: use Files instead
FileName *string `url:"file_name,omitempty" json:"file_name,omitempty"`
// Deprecated: use Files instead
Content *string `url:"content,omitempty" json:"content,omitempty"`
}
UpdateProjectSnippetOptions represents the available UpdateSnippet() options.
GitLab API docs: https://docs.gitlab.com/api/project_snippets/#update-snippet
type UpdateProjectVariableOptions ¶
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"`
}
UpdateProjectVariableOptions represents the available UpdateVariable() options.
GitLab API docs: https://docs.gitlab.com/api/project_level_variables/#update-a-variable
type UpdateProtectedBranchOptions ¶
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"`
}
UpdateProtectedBranchOptions represents the available UpdateProtectedBranch() options.
GitLab API docs: https://docs.gitlab.com/api/protected_branches/#update-a-protected-branch
type UpdateProtectedEnvironmentsOptions ¶
type UpdateProtectedEnvironmentsOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
DeployAccessLevels *[]*UpdateEnvironmentAccessOptions `url:"deploy_access_levels,omitempty" json:"deploy_access_levels,omitempty"`
RequiredApprovalCount *int64 `url:"required_approval_count,omitempty" json:"required_approval_count,omitempty"`
ApprovalRules *[]*UpdateEnvironmentApprovalRuleOptions `url:"approval_rules,omitempty" json:"approval_rules,omitempty"`
}
UpdateProtectedEnvironmentsOptions represents the available UpdateProtectedEnvironments() options.
GitLab API docs: https://docs.gitlab.com/api/protected_environments/#update-a-protected-environment
type UpdateReleaseLinkOptions ¶
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"`
DirectAssetPath *string `url:"direct_asset_path,omitempty" json:"direct_asset_path,omitempty"`
LinkType *LinkTypeValue `url:"link_type,omitempty" json:"link_type,omitempty"`
}
UpdateReleaseLinkOptions represents UpdateReleaseLink() options.
You have to specify at least one of Name of URL.
GitLab API docs: https://docs.gitlab.com/api/releases/links/#update-a-release-link
type UpdateReleaseOptions ¶
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"`
}
UpdateReleaseOptions represents UpdateRelease() options.
GitLab API docs: https://docs.gitlab.com/api/releases/#update-a-release
type UpdateRunnerControllerOptions ¶
type UpdateRunnerControllerOptions struct {
Description *string `url:"description,omitempty" json:"description,omitempty"`
State *RunnerControllerStateValue `url:"state,omitempty" json:"state,omitempty"`
}
UpdateRunnerControllerOptions represents the available UpdateRunnerController() options.
GitLab API docs: https://docs.gitlab.com/api/runner_controllers/#update-a-runner-controller
type UpdateRunnerDetailsOptions ¶
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 *int64 `url:"maximum_timeout,omitempty" json:"maximum_timeout,omitempty"`
MaintenanceNote *string `url:"maintenance_note,omitempty" json:"maintenance_note,omitempty"`
// Deprecated: for removal in v5 of the API, use Paused instead
Active *bool `url:"active,omitempty" json:"active,omitempty"`
}
UpdateRunnerDetailsOptions represents the available UpdateRunnerDetails() options.
GitLab API docs: https://docs.gitlab.com/api/runners/#update-runners-details
type UpdateSCIMIdentityOptions ¶
type UpdateSCIMIdentityOptions struct {
ExternUID *string `url:"extern_uid,omitempty" json:"extern_uid,omitempty"`
}
UpdateSCIMIdentityOptions represent the request options for updating a SCIM Identity.
GitLab API docs: https://docs.gitlab.com/api/scim/#update-extern_uid-field-for-a-scim-identity
type UpdateServiceAccountOptions ¶
type UpdateServiceAccountOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
Username *string `url:"username,omitempty" json:"username,omitempty"`
Email *string `url:"email,omitempty" json:"email,omitempty"`
}
UpdateServiceAccountOptions represents the available UpdateServiceAccount() options.
GitLab API docs: https://docs.gitlab.com/api/service_accounts/#update-a-group-service-account
type UpdateSettingsOptions ¶
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"`
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"`
AllowAccountDeletion *bool `url:"allow_account_deletion,omitempty" json:"allow_account_deletion,omitempty"`
AllowAllIntegrations *bool `url:"allow_all_integrations,omitempty" json:"allow_all_integrations,omitempty"`
AllowedIntegrations *[]string `url:"allowed_integrations,omitempty" json:"allowed_integrations,omitempty"`
AllowGroupOwnersToManageLDAP *bool `url:"allow_group_owners_to_manage_ldap,omitempty" json:"allow_group_owners_to_manage_ldap,omitempty"`
AllowLocalRequestsFromSystemHooks *bool `url:"allow_local_requests_from_system_hooks,omitempty" json:"allow_local_requests_from_system_hooks,omitempty"`
AllowLocalRequestsFromWebHooksAndServices *bool `` /* 130-byte string literal not displayed */
AllowProjectCreationForGuestAndBelow *bool `url:"allow_project_creation_for_guest_and_below,omitempty" json:"allow_project_creation_for_guest_and_below,omitempty"`
AllowRunnerRegistrationToken *bool `url:"allow_runner_registration_token,omitempty" json:"allow_runner_registration_token,omitempty"`
AnonymousSearchesAllowed *bool `url:"anonymous_searches_allowed,omitempty" json:"anonymous_searches_allowed,omitempty"`
ArchiveBuildsInHumanReadable *string `url:"archive_builds_in_human_readable,omitempty" json:"archive_builds_in_human_readable,omitempty"`
ASCIIDocMaxIncludes *int64 `url:"asciidoc_max_includes,omitempty" json:"asciidoc_max_includes,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"`
AuthorizedKeysEnabled *bool `url:"authorized_keys_enabled,omitempty" json:"authorized_keys_enabled,omitempty"`
AutoBanUserOnExcessiveProjectsDownload *bool `url:"auto_ban_user_on_excessive_projects_download,omitempty" json:"auto_ban_user_on_excessive_projects_download,omitempty"`
AutocompleteUsers *int64 `url:"autocomplete_users,omitempty" json:"autocomplete_users,omitempty"`
AutocompleteUsersUnauthenticated *int64 `url:"autocomplete_users_unauthenticated,omitempty" json:"autocomplete_users_unauthenticated,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"`
BulkImportConcurrentPipelineBatchLimit *int64 `url:"bulk_import_concurrent_pipeline_batch_limit,omitempty" json:"bulk_import_concurrent_pipeline_batch_limit,omitempty"`
BulkImportEnabled *bool `url:"bulk_import_enabled,omitempty" json:"bulk_import_enabled,omitempty"`
BulkImportMaxDownloadFileSize *int64 `url:"bulk_import_max_download_file_size,omitempty" json:"bulk_import_max_download_file_size,omitempty"`
CanCreateGroup *bool `url:"can_create_group,omitempty" json:"can_create_group,omitempty"`
CanCreateOrganization *bool `url:"can_create_organization,omitempty" json:"can_create_organization,omitempty"`
CheckNamespacePlan *bool `url:"check_namespace_plan,omitempty" json:"check_namespace_plan,omitempty"`
CIJobLiveTraceEnabled *bool `url:"ci_job_live_trace_enabled,omitempty" json:"ci_job_live_trace_enabled,omitempty"`
CIMaxIncludes *int64 `url:"ci_max_includes,omitempty" json:"ci_max_includes,omitempty"`
CIMaxTotalYAMLSizeBytes *int64 `url:"ci_max_total_yaml_size_bytes,omitempty" json:"ci_max_total_yaml_size_bytes,omitempty"`
CIPartitionsSizeLimit *int64 `url:"ci_partitions_size_limit,omitempty" json:"ci_partitions_size_limit,omitempty"`
CommitEmailHostname *string `url:"commit_email_hostname,omitempty" json:"commit_email_hostname,omitempty"`
ConcurrentBitbucketImportJobsLimit *int64 `url:"concurrent_bitbucket_import_jobs_limit,omitempty" json:"concurrent_bitbucket_import_jobs_limit,omitempty"`
ConcurrentBitbucketServerImportJobsLimit *int64 `url:"concurrent_bitbucket_server_import_jobs_limit,omitempty" json:"concurrent_bitbucket_server_import_jobs_limit,omitempty"`
ConcurrentGitHubImportJobsLimit *int64 `url:"concurrent_github_import_jobs_limit,omitempty" json:"concurrent_github_import_jobs_limit,omitempty"`
ContainerExpirationPoliciesEnableHistoricEntries *bool `` /* 140-byte string literal not displayed */
ContainerRegistryCleanupTagsServiceMaxListSize *int64 `` /* 140-byte string literal not displayed */
ContainerRegistryDeleteTagsServiceTimeout *int64 `` /* 126-byte string literal not displayed */
ContainerRegistryExpirationPoliciesCaching *bool `` /* 126-byte string literal not displayed */
ContainerRegistryExpirationPoliciesWorkerCapacity *int64 `` /* 142-byte string literal not displayed */
ContainerRegistryImportCreatedBefore *time.Time `url:"container_registry_import_created_before,omitempty" json:"container_registry_import_created_before,omitempty"`
ContainerRegistryImportMaxRetries *int64 `url:"container_registry_import_max_retries,omitempty" json:"container_registry_import_max_retries,omitempty"`
ContainerRegistryImportMaxStepDuration *int64 `url:"container_registry_import_max_step_duration,omitempty" json:"container_registry_import_max_step_duration,omitempty"`
ContainerRegistryImportMaxTagsCount *int64 `url:"container_registry_import_max_tags_count,omitempty" json:"container_registry_import_max_tags_count,omitempty"`
ContainerRegistryImportStartMaxRetries *int64 `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 *int64 `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 *int64 `url:"dsa_key_restriction,omitempty" json:"dsa_key_restriction,omitempty"`
DeactivateDormantUsers *bool `url:"deactivate_dormant_users,omitempty" json:"deactivate_dormant_users,omitempty"`
DeactivateDormantUsersPeriod *int64 `url:"deactivate_dormant_users_period,omitempty" json:"deactivate_dormant_users_period,omitempty"`
DecompressArchiveFileTimeout *int64 `url:"decompress_archive_file_timeout,omitempty" json:"decompress_archive_file_timeout,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"`
DefaultBranchProtectionDefaults *DefaultBranchProtectionDefaultsOptions `url:"default_branch_protection_defaults,omitempty" json:"default_branch_protection_defaults,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"`
DefaultPreferredLanguage *string `url:"default_preferred_language,omitempty" json:"default_preferred_language,omitempty"`
DefaultProjectCreation *int64 `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 *int64 `url:"default_projects_limit,omitempty" json:"default_projects_limit,omitempty"`
DefaultSnippetVisibility *VisibilityValue `url:"default_snippet_visibility,omitempty" json:"default_snippet_visibility,omitempty"`
DefaultSyntaxHighlightingTheme *int64 `url:"default_syntax_highlighting_theme,omitempty" json:"default_syntax_highlighting_theme,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"`
DeleteUnconfirmedUsers *bool `url:"delete_unconfirmed_users,omitempty" json:"delete_unconfirmed_users,omitempty"`
DeletionAdjournedPeriod *int64 `url:"deletion_adjourned_period,omitempty" json:"deletion_adjourned_period,omitempty"`
DiagramsnetEnabled *bool `url:"diagramsnet_enabled,omitempty" json:"diagramsnet_enabled,omitempty"`
DiagramsnetURL *string `url:"diagramsnet_url,omitempty" json:"diagramsnet_url,omitempty"`
DiffMaxFiles *int64 `url:"diff_max_files,omitempty" json:"diff_max_files,omitempty"`
DiffMaxLines *int64 `url:"diff_max_lines,omitempty" json:"diff_max_lines,omitempty"`
DiffMaxPatchBytes *int64 `url:"diff_max_patch_bytes,omitempty" json:"diff_max_patch_bytes,omitempty"`
DisableFeedToken *bool `url:"disable_feed_token,omitempty" json:"disable_feed_token,omitempty"`
DisableAdminOAuthScopes *bool `url:"disable_admin_oauth_scopes,omitempty" json:"disable_admin_oauth_scopes,omitempty"`
DisableOverridingApproversPerMergeRequest *bool `` /* 126-byte string literal not displayed */
DisablePersonalAccessTokens *bool `url:"disable_personal_access_tokens,omitempty" json:"disable_personal_access_tokens,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"`
DownstreamPipelineTriggerLimitPerProjectUserSHA *int64 `` /* 142-byte string literal not displayed */
DuoFeaturesEnabled *bool `url:"duo_features_enabled,omitempty" json:"duo_features_enabled,omitempty"`
ECDSAKeyRestriction *int64 `url:"ecdsa_key_restriction,omitempty" json:"ecdsa_key_restriction,omitempty"`
ECDSASKKeyRestriction *int64 `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 *int64 `url:"ed25519_key_restriction,omitempty" json:"ed25519_key_restriction,omitempty"`
Ed25519SKKeyRestriction *int64 `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 *int64 `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 *int64 `url:"elasticsearch_analyzers_smartcn_search,omitempty" json:"elasticsearch_analyzers_smartcn_search,omitempty"`
ElasticsearchClientRequestTimeout *int64 `url:"elasticsearch_client_request_timeout,omitempty" json:"elasticsearch_client_request_timeout,omitempty"`
ElasticsearchIndexedFieldLengthLimit *int64 `url:"elasticsearch_indexed_field_length_limit,omitempty" json:"elasticsearch_indexed_field_length_limit,omitempty"`
ElasticsearchIndexedFileSizeLimitKB *int64 `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 *int64 `url:"elasticsearch_max_bulk_concurrency,omitempty" json:"elasticsearch_max_bulk_concurrency,omitempty"`
ElasticsearchMaxBulkSizeMB *int64 `url:"elasticsearch_max_bulk_size_mb,omitempty" json:"elasticsearch_max_bulk_size_mb,omitempty"`
ElasticsearchMaxCodeIndexingConcurrency *int64 `url:"elasticsearch_max_code_indexing_concurrency,omitempty" json:"elasticsearch_max_code_indexing_concurrency,omitempty"`
ElasticsearchNamespaceIDs *[]int64 `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 *[]int64 `url:"elasticsearch_project_ids,omitempty" json:"elasticsearch_project_ids,omitempty"`
ElasticsearchReplicas *int64 `url:"elasticsearch_replicas,omitempty" json:"elasticsearch_replicas,omitempty"`
ElasticsearchRequeueWorkers *bool `url:"elasticsearch_requeue_workers,omitempty" json:"elasticsearch_requeue_workers,omitempty"`
ElasticsearchRetryOnFailure *int64 `url:"elasticsearch_retry_on_failure,omitempty" json:"elasticsearch_retry_on_failure,omitempty"`
ElasticsearchSearch *bool `url:"elasticsearch_search,omitempty" json:"elasticsearch_search,omitempty"`
ElasticsearchShards *int64 `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"`
ElasticsearchWorkerNumberOfShards *int64 `url:"elasticsearch_worker_number_of_shards,omitempty" json:"elasticsearch_worker_number_of_shards,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"`
EmailConfirmationSetting *string `url:"email_confirmation_setting,omitempty" json:"email_confirmation_setting,omitempty"`
EmailRestrictions *string `url:"email_restrictions,omitempty" json:"email_restrictions,omitempty"`
EmailRestrictionsEnabled *bool `url:"email_restrictions_enabled,omitempty" json:"email_restrictions_enabled,omitempty"`
EnableArtifactExternalRedirectWarningPage *bool `` /* 126-byte string literal not displayed */
EnabledGitAccessProtocol *string `url:"enabled_git_access_protocol,omitempty" json:"enabled_git_access_protocol,omitempty"`
EnforceCIInboundJobTokenScopeEnabled *bool `url:"enforce_ci_inbound_job_token_scope_enabled,omitempty" json:"enforce_ci_inbound_job_token_scope_enabled,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 *int64 `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"`
FailedLoginAttemptsUnlockPeriodInMinutes *int64 `` /* 126-byte string literal not displayed */
FileTemplateProjectID *int64 `url:"file_template_project_id,omitempty" json:"file_template_project_id,omitempty"`
FirstDayOfWeek *int64 `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 *int64 `url:"geo_status_timeout,omitempty" json:"geo_status_timeout,omitempty"`
GitRateLimitUsersAlertlist *[]int64 `url:"git_rate_limit_users_alertlist,omitempty" json:"git_rate_limit_users_alertlist,omitempty"`
GitTwoFactorSessionExpiry *int64 `url:"git_two_factor_session_expiry,omitempty" json:"git_two_factor_session_expiry,omitempty"`
GitalyTimeoutDefault *int64 `url:"gitaly_timeout_default,omitempty" json:"gitaly_timeout_default,omitempty"`
GitalyTimeoutFast *int64 `url:"gitaly_timeout_fast,omitempty" json:"gitaly_timeout_fast,omitempty"`
GitalyTimeoutMedium *int64 `url:"gitaly_timeout_medium,omitempty" json:"gitaly_timeout_medium,omitempty"`
GitlabDedicatedInstance *bool `url:"gitlab_dedicated_instance,omitempty" json:"gitlab_dedicated_instance,omitempty"`
GitlabEnvironmentToolkitInstance *bool `url:"gitlab_environment_toolkit_instance,omitempty" json:"gitlab_environment_toolkit_instance,omitempty"`
GitlabShellOperationLimit *int64 `url:"gitlab_shell_operation_limit,omitempty" json:"gitlab_shell_operation_limit,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"`
GloballyAllowedIPs *string `url:"globally_allowed_ips,omitempty" json:"globally_allowed_ips,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 *int64 `url:"group_download_export_limit,omitempty" json:"group_download_export_limit,omitempty"`
GroupExportLimit *int64 `url:"group_export_limit,omitempty" json:"group_export_limit,omitempty"`
GroupImportLimit *int64 `url:"group_import_limit,omitempty" json:"group_import_limit,omitempty"`
GroupOwnersCanManageDefaultBranchProtection *bool `` /* 132-byte string literal not displayed */
GroupRunnerTokenExpirationInterval *int64 `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"`
HousekeepingEnabled *bool `url:"housekeeping_enabled,omitempty" json:"housekeeping_enabled,omitempty"`
HousekeepingOptimizeRepositoryPeriod *int64 `url:"housekeeping_optimize_repository_period,omitempty" json:"housekeeping_optimize_repository_period,omitempty"`
ImportSources *[]string `url:"import_sources,omitempty" json:"import_sources,omitempty"`
InactiveProjectsDeleteAfterMonths *int64 `url:"inactive_projects_delete_after_months,omitempty" json:"inactive_projects_delete_after_months,omitempty"`
InactiveProjectsMinSizeMB *int64 `url:"inactive_projects_min_size_mb,omitempty" json:"inactive_projects_min_size_mb,omitempty"`
InactiveProjectsSendWarningEmailAfterMonths *int64 `` /* 132-byte string literal not displayed */
InactiveResourceAccessTokensDeleteAfterDays *int64 `` /* 132-byte string literal not displayed */
IncludeOptionalMetricsInServicePing *bool `url:"include_optional_metrics_in_service_ping,omitempty" json:"include_optional_metrics_in_service_ping,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 *int64 `url:"issues_create_limit,omitempty" json:"issues_create_limit,omitempty"`
JiraConnectApplicationKey *string `url:"jira_connect_application_key,omitempty" json:"jira_connect_application_key,omitempty"`
JiraConnectPublicKeyStorageEnabled *bool `url:"jira_connect_public_key_storage_enabled,omitempty" json:"jira_connect_public_key_storage_enabled,omitempty"`
JiraConnectProxyURL *string `url:"jira_connect_proxy_url,omitempty" json:"jira_connect_proxy_url,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 *int64 `url:"local_markdown_version,omitempty" json:"local_markdown_version,omitempty"`
LockDuoFeaturesEnabled *bool `url:"lock_duo_features_enabled,omitempty" json:"lock_duo_features_enabled,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"`
MavenPackageRequestsForwarding *bool `url:"maven_package_requests_forwarding,omitempty" json:"maven_package_requests_forwarding,omitempty"`
MaxArtifactsSize *int64 `url:"max_artifacts_size,omitempty" json:"max_artifacts_size,omitempty"`
MaxAttachmentSize *int64 `url:"max_attachment_size,omitempty" json:"max_attachment_size,omitempty"`
MaxDecompressedArchiveSize *int64 `url:"max_decompressed_archive_size,omitempty" json:"max_decompressed_archive_size,omitempty"`
MaxExportSize *int64 `url:"max_export_size,omitempty" json:"max_export_size,omitempty"`
MaxImportRemoteFileSize *int64 `url:"max_import_remote_file_size,omitempty" json:"max_import_remote_file_size,omitempty"`
MaxImportSize *int64 `url:"max_import_size,omitempty" json:"max_import_size,omitempty"`
MaxLoginAttempts *int64 `url:"max_login_attempts,omitempty" json:"max_login_attempts,omitempty"`
MaxNumberOfRepositoryDownloads *int64 `url:"max_number_of_repository_downloads,omitempty" json:"max_number_of_repository_downloads,omitempty"`
MaxNumberOfRepositoryDownloadsWithinTimePeriod *int64 `` /* 140-byte string literal not displayed */
MaxPagesSize *int64 `url:"max_pages_size,omitempty" json:"max_pages_size,omitempty"`
MaxPersonalAccessTokenLifetime *int64 `url:"max_personal_access_token_lifetime,omitempty" json:"max_personal_access_token_lifetime,omitempty"`
MaxSSHKeyLifetime *int64 `url:"max_ssh_key_lifetime,omitempty" json:"max_ssh_key_lifetime,omitempty"`
MaxTerraformStateSizeBytes *int64 `url:"max_terraform_state_size_bytes,omitempty" json:"max_terraform_state_size_bytes,omitempty"`
MaxYAMLDepth *int64 `url:"max_yaml_depth,omitempty" json:"max_yaml_depth,omitempty"`
MaxYAMLSizeBytes *int64 `url:"max_yaml_size_bytes,omitempty" json:"max_yaml_size_bytes,omitempty"`
MetricsMethodCallThreshold *int64 `url:"metrics_method_call_threshold,omitempty" json:"metrics_method_call_threshold,omitempty"`
MinimumPasswordLength *int64 `url:"minimum_password_length,omitempty" json:"minimum_password_length,omitempty"`
MirrorAvailable *bool `url:"mirror_available,omitempty" json:"mirror_available,omitempty"`
MirrorCapacityThreshold *int64 `url:"mirror_capacity_threshold,omitempty" json:"mirror_capacity_threshold,omitempty"`
MirrorMaxCapacity *int64 `url:"mirror_max_capacity,omitempty" json:"mirror_max_capacity,omitempty"`
MirrorMaxDelay *int64 `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 *int64 `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"`
NugetSkipMetadataURLValidation *bool `url:"nuget_skip_metadata_url_validation,omitempty" json:"nuget_skip_metadata_url_validation,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"`
PackageMetadataPURLTypes *[]int64 `url:"package_metadata_purl_types,omitempty" json:"package_metadata_purl_types,omitempty"`
PackageRegistryAllowAnyoneToPullOption *bool `url:"package_registry_allow_anyone_to_pull_option,omitempty" json:"package_registry_allow_anyone_to_pull_option,omitempty"`
PackageRegistryCleanupPoliciesWorkerCapacity *int64 `` /* 132-byte string literal not displayed */
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"`
PerformanceBarAllowedGroupPath *string `url:"performance_bar_allowed_group_path,omitempty" json:"performance_bar_allowed_group_path,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 *int64 `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 *int64 `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 *int64 `url:"project_export_limit,omitempty" json:"project_export_limit,omitempty"`
ProjectImportLimit *int64 `url:"project_import_limit,omitempty" json:"project_import_limit,omitempty"`
ProjectJobsAPIRateLimit *int64 `url:"project_jobs_api_rate_limit,omitempty" json:"project_jobs_api_rate_limit,omitempty"`
ProjectRunnerTokenExpirationInterval *int64 `url:"project_runner_token_expiration_interval,omitempty" json:"project_runner_token_expiration_interval,omitempty"`
ProjectsAPIRateLimitUnauthenticated *int64 `url:"projects_api_rate_limit_unauthenticated,omitempty" json:"projects_api_rate_limit_unauthenticated,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 *int64 `url:"push_event_activities_limit,omitempty" json:"push_event_activities_limit,omitempty"`
PushEventHooksLimit *int64 `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 *int64 `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 *int64 `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 *int64 `url:"receive_max_input_size,omitempty" json:"receive_max_input_size,omitempty"`
ReceptiveClusterAgentsEnabled *bool `url:"receptive_cluster_agents_enabled,omitempty" json:"receptive_cluster_agents_enabled,omitempty"`
RememberMeEnabled *bool `url:"remember_me_enabled,omitempty" json:"remember_me_enabled,omitempty"`
RepositoryChecksEnabled *bool `url:"repository_checks_enabled,omitempty" json:"repository_checks_enabled,omitempty"`
RepositorySizeLimit *int64 `url:"repository_size_limit,omitempty" json:"repository_size_limit,omitempty"`
RepositoryStorages *[]string `url:"repository_storages,omitempty" json:"repository_storages,omitempty"`
RepositoryStoragesWeighted *map[string]int64 `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"`
RequireAdminTwoFactorAuthentication *bool `url:"require_admin_two_factor_authentication,omitempty" json:"require_admin_two_factor_authentication,omitempty"`
RequirePersonalAccessTokenExpiry *bool `url:"require_personal_access_token_expiry,omitempty" json:"require_personal_access_token_expiry,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 *int64 `url:"runner_token_expiration_interval,omitempty" json:"runner_token_expiration_interval,omitempty"`
SearchRateLimit *int64 `url:"search_rate_limit,omitempty" json:"search_rate_limit,omitempty"`
SearchRateLimitUnauthenticated *int64 `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"`
SecurityApprovalPoliciesLimit *int64 `url:"security_approval_policies_limit,omitempty" json:"security_approval_policies_limit,omitempty"`
SecurityPolicyGlobalGroupApproversEnabled *bool `` /* 126-byte string literal not displayed */
SecurityTXTContent *string `url:"security_txt_content,omitempty" json:"security_txt_content,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 *bool `url:"sentry_enabled,omitempty" json:"sentry_enabled,omitempty"`
SentryEnvironment *string `url:"sentry_environment,omitempty" json:"sentry_environment,omitempty"`
ServiceAccessTokensExpirationEnforced *bool `url:"service_access_tokens_expiration_enforced,omitempty" json:"service_access_tokens_expiration_enforced,omitempty"`
SessionExpireDelay *int64 `url:"session_expire_delay,omitempty" json:"session_expire_delay,omitempty"`
SessionExpireFromInit *bool `url:"session_expire_from_init,omitempty" json:"session_expire_from_init,omitempty"`
SidekiqJobLimiterCompressionThresholdBytes *int64 `` /* 128-byte string literal not displayed */
SidekiqJobLimiterLimitBytes *int64 `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"`
SilentAdminExportsEnabled *bool `url:"silent_admin_exports_enabled,omitempty" json:"silent_admin_exports_enabled,omitempty"`
SilentModeEnabled *bool `url:"silent_mode_enabled,omitempty" json:"silent_mode_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 *int64 `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"`
SnowplowDatabaseCollectorHostname *string `url:"snowplow_database_collector_hostname,omitempty" json:"snowplow_database_collector_hostname,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"`
StaticObjectsExternalStorageAuthToken *string `url:"static_objects_external_storage_auth_token,omitempty" json:"static_objects_external_storage_auth_token,omitempty"`
StaticObjectsExternalStorageURL *string `url:"static_objects_external_storage_url,omitempty" json:"static_objects_external_storage_url,omitempty"`
SuggestPipelineEnabled *bool `url:"suggest_pipeline_enabled,omitempty" json:"suggest_pipeline_enabled,omitempty"`
TerminalMaxSessionTime *int64 `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 *int64 `url:"throttle_authenticated_api_period_in_seconds,omitempty" json:"throttle_authenticated_api_period_in_seconds,omitempty"`
ThrottleAuthenticatedAPIRequestsPerPeriod *int64 `` /* 126-byte string literal not displayed */
ThrottleAuthenticatedDeprecatedAPIEnabled *bool `url:"throttle_authenticated_deprecated_api_enabled,omitempty" json:"throttle_authenticated_deprecated_api_enabled,omitempty"`
ThrottleAuthenticatedDeprecatedAPIPeriodInSeconds *int64 `` /* 144-byte string literal not displayed */
ThrottleAuthenticatedDeprecatedAPIRequestsPerPeriod *int64 `` /* 148-byte string literal not displayed */
ThrottleAuthenticatedFilesAPIEnabled *bool `url:"throttle_authenticated_files_api_enabled,omitempty" json:"throttle_authenticated_files_api_enabled,omitempty"`
ThrottleAuthenticatedFilesAPIPeriodInSeconds *int64 `` /* 134-byte string literal not displayed */
ThrottleAuthenticatedFilesAPIRequestsPerPeriod *int64 `` /* 138-byte string literal not displayed */
ThrottleAuthenticatedGitLFSEnabled *bool `url:"throttle_authenticated_git_lfs_enabled,omitempty" json:"throttle_authenticated_git_lfs_enabled,omitempty"`
ThrottleAuthenticatedGitLFSPeriodInSeconds *int64 `` /* 130-byte string literal not displayed */
ThrottleAuthenticatedGitLFSRequestsPerPeriod *int64 `` /* 134-byte string literal not displayed */
ThrottleAuthenticatedPackagesAPIEnabled *bool `url:"throttle_authenticated_packages_api_enabled,omitempty" json:"throttle_authenticated_packages_api_enabled,omitempty"`
ThrottleAuthenticatedPackagesAPIPeriodInSeconds *int64 `` /* 140-byte string literal not displayed */
ThrottleAuthenticatedPackagesAPIRequestsPerPeriod *int64 `` /* 144-byte string literal not displayed */
ThrottleAuthenticatedWebEnabled *bool `url:"throttle_authenticated_web_enabled,omitempty" json:"throttle_authenticated_web_enabled,omitempty"`
ThrottleAuthenticatedWebPeriodInSeconds *int64 `url:"throttle_authenticated_web_period_in_seconds,omitempty" json:"throttle_authenticated_web_period_in_seconds,omitempty"`
ThrottleAuthenticatedWebRequestsPerPeriod *int64 `` /* 126-byte string literal not displayed */
ThrottleIncidentManagementNotificationEnabled *bool `` /* 132-byte string literal not displayed */
ThrottleIncidentManagementNotificationPerPeriod *int64 `` /* 138-byte string literal not displayed */
ThrottleIncidentManagementNotificationPeriodInSeconds *int64 `` /* 152-byte string literal not displayed */
ThrottleProtectedPathsEnabled *bool `url:"throttle_protected_paths_enabled,omitempty" json:"throttle_protected_paths_enabled,omitempty"`
ThrottleProtectedPathsPeriodInSeconds *int64 `url:"throttle_protected_paths_period_in_seconds,omitempty" json:"throttle_protected_paths_period_in_seconds,omitempty"`
ThrottleProtectedPathsRequestsPerPeriod *int64 `url:"throttle_protected_paths_requests_per_period,omitempty" json:"throttle_protected_paths_requests_per_period,omitempty"`
ThrottleUnauthenticatedAPIEnabled *bool `url:"throttle_unauthenticated_api_enabled,omitempty" json:"throttle_unauthenticated_api_enabled,omitempty"`
ThrottleUnauthenticatedAPIPeriodInSeconds *int64 `` /* 126-byte string literal not displayed */
ThrottleUnauthenticatedAPIRequestsPerPeriod *int64 `` /* 130-byte string literal not displayed */
ThrottleUnauthenticatedDeprecatedAPIEnabled *bool `` /* 128-byte string literal not displayed */
ThrottleUnauthenticatedDeprecatedAPIPeriodInSeconds *int64 `` /* 148-byte string literal not displayed */
ThrottleUnauthenticatedDeprecatedAPIRequestsPerPeriod *int64 `` /* 152-byte string literal not displayed */
ThrottleUnauthenticatedFilesAPIEnabled *bool `url:"throttle_unauthenticated_files_api_enabled,omitempty" json:"throttle_unauthenticated_files_api_enabled,omitempty"`
ThrottleUnauthenticatedFilesAPIPeriodInSeconds *int64 `` /* 138-byte string literal not displayed */
ThrottleUnauthenticatedFilesAPIRequestsPerPeriod *int64 `` /* 142-byte string literal not displayed */
ThrottleUnauthenticatedGitLFSEnabled *bool `url:"throttle_unauthenticated_git_lfs_enabled,omitempty" json:"throttle_unauthenticated_git_lfs_enabled,omitempty"`
ThrottleUnauthenticatedGitLFSPeriodInSeconds *int64 `` /* 134-byte string literal not displayed */
ThrottleUnauthenticatedGitLFSRequestsPerPeriod *int64 `` /* 138-byte string literal not displayed */
ThrottleUnauthenticatedPackagesAPIEnabled *bool `url:"throttle_unauthenticated_packages_api_enabled,omitempty" json:"throttle_unauthenticated_packages_api_enabled,omitempty"`
ThrottleUnauthenticatedPackagesAPIPeriodInSeconds *int64 `` /* 144-byte string literal not displayed */
ThrottleUnauthenticatedPackagesAPIRequestsPerPeriod *int64 `` /* 148-byte string literal not displayed */
ThrottleUnauthenticatedWebEnabled *bool `url:"throttle_unauthenticated_web_enabled,omitempty" json:"throttle_unauthenticated_web_enabled,omitempty"`
ThrottleUnauthenticatedWebPeriodInSeconds *int64 `` /* 126-byte string literal not displayed */
ThrottleUnauthenticatedWebRequestsPerPeriod *int64 `` /* 130-byte string literal not displayed */
TimeTrackingLimitToHours *bool `url:"time_tracking_limit_to_hours,omitempty" json:"time_tracking_limit_to_hours,omitempty"`
TwoFactorGracePeriod *int64 `url:"two_factor_grace_period,omitempty" json:"two_factor_grace_period,omitempty"`
UnconfirmedUsersDeleteAfterDays *int64 `url:"unconfirmed_users_delete_after_days,omitempty" json:"unconfirmed_users_delete_after_days,omitempty"`
UniqueIPsLimitEnabled *bool `url:"unique_ips_limit_enabled,omitempty" json:"unique_ips_limit_enabled,omitempty"`
UniqueIPsLimitPerUser *int64 `url:"unique_ips_limit_per_user,omitempty" json:"unique_ips_limit_per_user,omitempty"`
UniqueIPsLimitTimeWindow *int64 `url:"unique_ips_limit_time_window,omitempty" json:"unique_ips_limit_time_window,omitempty"`
UpdateRunnerVersionsEnabled *bool `url:"update_runner_versions_enabled,omitempty" json:"update_runner_versions_enabled,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"`
UseClickhouseForAnalytics *bool `url:"use_clickhouse_for_analytics,omitempty" json:"use_clickhouse_for_analytics,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"`
UserDefaultsToPrivateProfile *bool `url:"user_defaults_to_private_profile,omitempty" json:"user_defaults_to_private_profile,omitempty"`
UserEmailLookupLimit *int64 `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 *int64 `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"`
ValidRunnerRegistrars *[]string `url:"valid_runner_registrars,omitempty" json:"valid_runner_registrars,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 *int64 `url:"wiki_page_max_content_bytes,omitempty" json:"wiki_page_max_content_bytes,omitempty"`
LockMembershipsToSAML *bool `url:"lock_memberships_to_saml,omitempty" json:"lock_memberships_to_saml,omitempty"`
// Deprecated: Use AbuseNotificationEmail instead.
AdminNotificationEmail *string `url:"admin_notification_email,omitempty" json:"admin_notification_email,omitempty"`
// Deprecated: Use AllowLocalRequestsFromWebHooksAndServices instead.
AllowLocalRequestsFromHooksAndServices *bool `url:"allow_local_requests_from_hooks_and_services,omitempty" json:"allow_local_requests_from_hooks_and_services,omitempty"`
// Deprecated: Use AssetProxyAllowlist instead.
AssetProxyWhitelist *[]string `url:"asset_proxy_whitelist,omitempty" json:"asset_proxy_whitelist,omitempty"`
// Deprecated: Use DefaultBranchProtectionDefaults instead.
DefaultBranchProtection *int64 `url:"default_branch_protection,omitempty" json:"default_branch_protection,omitempty"`
// Deprecated: Cannot be set through the API, always true
HousekeepingBitmapsEnabled *bool `url:"housekeeping_bitmaps_enabled,omitempty" json:"housekeeping_bitmaps_enabled,omitempty"`
// Deprecated: use HousekeepingOptimizeRepositoryPeriod instead
HousekeepingFullRepackPeriod *int64 `url:"housekeeping_full_repack_period,omitempty" json:"housekeeping_full_repack_period,omitempty"`
// Deprecated: use HousekeepingOptimizeRepositoryPeriod instead
HousekeepingGcPeriod *int64 `url:"housekeeping_gc_period,omitempty" json:"housekeeping_gc_period,omitempty"`
// Deprecated: use HousekeepingOptimizeRepositoryPeriod instead
HousekeepingIncrementalRepackPeriod *int64 `url:"housekeeping_incremental_repack_period,omitempty" json:"housekeeping_incremental_repack_period,omitempty"`
// Deprecated: use PerformanceBarAllowedGroupPath instead
PerformanceBarAllowedGroupID *int64 `url:"performance_bar_allowed_group_id,omitempty" json:"performance_bar_allowed_group_id,omitempty"`
// Deprecated: use PerformanceBarAllowedGroupPath: nil instead
PerformanceBarEnabled *bool `url:"performance_bar_enabled,omitempty" json:"performance_bar_enabled,omitempty"`
// Deprecated: Use ThrottleUnauthenticatedWebEnabled or ThrottleUnauthenticatedAPIEnabled instead. (Deprecated in GitLab 14.3)
ThrottleUnauthenticatedEnabled *bool `url:"throttle_unauthenticated_enabled,omitempty" json:"throttle_unauthenticated_enabled,omitempty"`
// Deprecated: Use ThrottleUnauthenticatedWebPeriodInSeconds or ThrottleUnauthenticatedAPIPeriodInSeconds instead. (Deprecated in GitLab 14.3)
ThrottleUnauthenticatedPeriodInSeconds *int64 `url:"throttle_unauthenticated_period_in_seconds,omitempty" json:"throttle_unauthenticated_period_in_seconds,omitempty"`
// Deprecated: Use ThrottleUnauthenticatedWebRequestsPerPeriod or ThrottleUnauthenticatedAPIRequestsPerPeriod instead. (Deprecated in GitLab 14.3)
ThrottleUnauthenticatedRequestsPerPeriod *int64 `url:"throttle_unauthenticated_requests_per_period,omitempty" json:"throttle_unauthenticated_requests_per_period,omitempty"`
}
UpdateSettingsOptions represents the available UpdateSettings() options.
GitLab API docs: https://docs.gitlab.com/api/settings/#update-application-settings
type UpdateSnippetDiscussionNoteOptions ¶
type UpdateSnippetDiscussionNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
CreatedAt *time.Time `url:"created_at,omitempty" json:"created_at,omitempty"`
}
UpdateSnippetDiscussionNoteOptions represents the available UpdateSnippetDiscussion() options.
GitLab API docs: https://docs.gitlab.com/api/discussions/#modify-existing-snippet-thread-note
type UpdateSnippetFileOptions ¶
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"`
}
UpdateSnippetFileOptions represents the update snippet file options.
GitLab API docs: https://docs.gitlab.com/api/snippets/#update-snippet
type UpdateSnippetNoteOptions ¶
type UpdateSnippetNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
}
UpdateSnippetNoteOptions represents the available UpdateSnippetNote() options.
GitLab API docs: https://docs.gitlab.com/api/notes/#modify-existing-snippet-note
type UpdateSnippetOptions ¶
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"`
}
UpdateSnippetOptions represents the available UpdateSnippet() options.
GitLab API docs: https://docs.gitlab.com/api/snippets/#update-snippet
type UpdateSubmoduleOptions ¶
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"`
}
UpdateSubmoduleOptions represents the available UpdateSubmodule() options.
GitLab API docs: https://docs.gitlab.com/api/repository_submodules/#update-existing-submodule-reference-in-repository
type UpdateTopicOptions ¶
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"`
}
UpdateTopicOptions represents the available UpdateTopic() options.
GitLab API docs: https://docs.gitlab.com/api/topics/#update-a-project-topic
type UpdateWorkItemOptions ¶ added in v2.5.0
type UpdateWorkItemOptions struct {
// Title of the work item.
Title *string
// State event for the work item. Possible values: CLOSE, REOPEN
StateEvent *WorkItemStateEvent
// Description of the work item.
Description *string
// Global IDs of assignees. An empty (non-nil) slice can be used to remove all assignees.
AssigneeIDs []int64
// Global ID of the milestone to assign to the work item.
MilestoneID *int64
// CRM contact IDs to set. An empty (non-nil) slice can be used to remove all contacts.
CRMContactIDs []int64
// Global ID of the parent work item.
ParentID *int64
// Global IDs of labels to be added to the work item.
AddLabelIDs []int64
// Global IDs of labels to be removed from the work item.
RemoveLabelIDs []int64
// Start date for the work item.
StartDate *ISOTime
// Due date for the work item.
DueDate *ISOTime
// Weight of the work item.
Weight *int64
// Health status to be assigned to the work item. Possible values: onTrack, needsAttention, atRisk
HealthStatus *string
// Global ID of the iteration to assign to the work item.
IterationID *int64
// Color of the work item, represented as a hex code or named color. Example: "#fefefe"
Color *string
// Global ID of the work item status.
Status *WorkItemStatusID
}
UpdateWorkItemOptions represents the available UpdateWorkItem() options.
GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#mutationworkitemupdate
Experimental: The Work Items API is a work in progress and may introduce breaking changes even between minor versions.
type UploadMetricImageOptions ¶
type UploadMetricImageOptions struct {
URL *string `url:"url,omitempty" json:"url,omitempty"`
URLText *string `url:"url_text,omitempty" json:"url_text,omitempty"`
}
UploadMetricImageOptions represents the available UploadMetricImage() options.
GitLab API docs: https://docs.gitlab.com/api/alert_management_alerts/#upload-metric-image
type UploadType ¶
type UploadType string
UploadType represents the available upload types.
const ( UploadAvatar UploadType = "avatar" UploadFile UploadType = "file" )
The available upload types.
type UploadWikiAttachmentOptions ¶
type UploadWikiAttachmentOptions struct {
Branch *string `url:"branch,omitempty" json:"branch,omitempty"`
}
UploadWikiAttachmentOptions represents options to UploadWikiAttachment.
GitLab API docs: https://docs.gitlab.com/api/wikis/#upload-an-attachment-to-the-wiki-repository
type UsageDataService ¶
type UsageDataService struct {
// contains filtered or unexported fields
}
UsageDataService handles communication with the service ping related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/usage_data/
func (*UsageDataService) GetMetricDefinitionsAsYAML ¶
func (s *UsageDataService) GetMetricDefinitionsAsYAML(options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
GetMetricDefinitionsAsYAML gets all metric definitions as a single YAML file.
The returned io.ReadCloser must be closed by the caller to avoid leaking the underlying response body.
GitLab API docs: https://docs.gitlab.com/api/usage_data/#export-metric-definitions-as-a-single-yaml-file
func (*UsageDataService) GetNonSQLMetrics ¶
func (s *UsageDataService) GetNonSQLMetrics(options ...RequestOptionFunc) (*ServicePingNonSQLMetrics, *Response, error)
func (*UsageDataService) GetQueries ¶
func (s *UsageDataService) GetQueries(options ...RequestOptionFunc) (*ServicePingQueries, *Response, error)
func (*UsageDataService) GetServicePing ¶
func (s *UsageDataService) GetServicePing(options ...RequestOptionFunc) (*ServicePingData, *Response, error)
func (*UsageDataService) TrackEvent ¶
func (s *UsageDataService) TrackEvent(opt *TrackEventOptions, options ...RequestOptionFunc) (*Response, error)
func (*UsageDataService) TrackEvents ¶
func (s *UsageDataService) TrackEvents(opt *TrackEventsOptions, options ...RequestOptionFunc) (*Response, error)
type UsageDataServiceInterface ¶
type UsageDataServiceInterface interface {
// GetServicePing gets the current service ping data.
//
// GitLab API docs:
// https://docs.gitlab.com/api/usage_data/#export-service-ping-data
GetServicePing(options ...RequestOptionFunc) (*ServicePingData, *Response, error)
// GetMetricDefinitionsAsYAML gets all metric definitions as a single YAML file.
//
// The returned io.ReadCloser must be closed by the caller to avoid
// leaking the underlying response body.
//
// GitLab API docs:
// https://docs.gitlab.com/api/usage_data/#export-metric-definitions-as-a-single-yaml-file
GetMetricDefinitionsAsYAML(options ...RequestOptionFunc) (io.ReadCloser, *Response, error)
// GetQueries gets all raw SQL queries used to compute service ping.
//
// GitLab API docs:
// https://docs.gitlab.com/api/usage_data/#export-service-ping-sql-queries
GetQueries(options ...RequestOptionFunc) (*ServicePingQueries, *Response, error)
// GetNonSQLMetrics gets all non-SQL metrics data used in the service ping.
//
// GitLab API docs:
// https://docs.gitlab.com/api/usage_data/#usagedatanonsqlmetrics-api
GetNonSQLMetrics(options ...RequestOptionFunc) (*ServicePingNonSQLMetrics, *Response, error)
// TrackEvent tracks an internal GitLab event.
//
// GitLab API docs:
// https://docs.gitlab.com/api/usage_data/#events-tracking-api
TrackEvent(opt *TrackEventOptions, options ...RequestOptionFunc) (*Response, error)
// TrackEvents tracks multiple internal GitLab events.
//
// GitLab API docs:
// https://docs.gitlab.com/api/usage_data/#events-tracking-api
TrackEvents(opt *TrackEventsOptions, options ...RequestOptionFunc) (*Response, error)
}
type User ¶
type User struct {
ID int64 `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 int64 `json:"theme_id"`
LastActivityOn *ISOTime `json:"last_activity_on"`
ColorSchemeID int64 `json:"color_scheme_id"`
IsAdmin bool `json:"is_admin"`
IsAuditor bool `json:"is_auditor"`
AvatarURL string `json:"avatar_url"`
CanCreateGroup bool `json:"can_create_group"`
CanCreateProject bool `json:"can_create_project"`
CanCreateOrganization bool `json:"can_create_organization"`
ProjectsLimit int64 `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"`
UsingLicenseSeat bool `json:"using_license_seat"`
CustomAttributes []*CustomAttribute `json:"custom_attributes"`
NamespaceID int64 `json:"namespace_id"`
Locked bool `json:"locked"`
CreatedBy *BasicUser `json:"created_by"`
}
User represents a GitLab user.
GitLab API docs: https://docs.gitlab.com/api/users/
type UserActivity ¶
type UserActivity struct {
Username string `json:"username"`
LastActivityOn *ISOTime `json:"last_activity_on"`
}
UserActivity represents an entry in the user/activities response
GitLab API docs: https://docs.gitlab.com/api/users/#list-a-users-activity
type UserAssociationsCount ¶
type UserAssociationsCount struct {
GroupsCount int64 `json:"groups_count"`
ProjectsCount int64 `json:"projects_count"`
IssuesCount int64 `json:"issues_count"`
MergeRequestsCount int64 `json:"merge_requests_count"`
}
UserAssociationsCount represents the user associations count.
GitLab API docs: https://docs.gitlab.com/api/users/#retrieve-a-count-of-a-users-projects-groups-issues-and-merge-requests
type UserAvatar ¶
UserAvatar represents a GitLab user avatar.
GitLab API docs: https://docs.gitlab.com/api/users/
func (*UserAvatar) MarshalJSON ¶
func (a *UserAvatar) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
type UserGroupSystemEvent ¶
type UserGroupSystemEvent struct {
BaseSystemEvent
ID int64 `json:"user_id"`
Name string `json:"user_name"`
Username string `json:"user_username"`
Email string `json:"user_email"`
GroupID int64 `json:"group_id"`
GroupName string `json:"group_name"`
GroupPath string `json:"group_path"`
GroupAccess string `json:"group_access"`
}
UserGroupSystemEvent represents a user group system event.
GitLab API docs: https://docs.gitlab.com/administration/system_hooks/
type UserID ¶
type UserID struct {
Value any
}
UserID represents a user identifier for API paths. It accepts either a numeric user ID or a username string. If a username is provided with a leading "@" character (e.g., "@johndoe"), the "@" will be trimmed.
type UserIDValue ¶
type UserIDValue string
UserIDValue represents a user ID value within GitLab.
const ( UserIDAny UserIDValue = "Any" UserIDNone UserIDValue = "None" )
List of available user ID values.
type UserIdentity ¶
UserIdentity represents a user identity.
type UserMembership ¶
type UserMembership struct {
SourceID int64 `json:"source_id"`
SourceName string `json:"source_name"`
SourceType string `json:"source_type"`
AccessLevel AccessLevelValue `json:"access_level"`
}
UserMembership represents a membership of the user in a namespace or project.
GitLab API docs: https://docs.gitlab.com/api/users/#list-projects-and-groups-that-a-user-is-a-member-of
type UserRunner ¶
type UserRunner struct {
ID int64 `json:"id"`
Token string `json:"token"`
TokenExpiresAt *time.Time `json:"token_expires_at"`
}
UserRunner represents a GitLab runner linked to the current user.
GitLab API docs: https://docs.gitlab.com/api/users/#create-a-runner-linked-to-a-user
type UserStatus ¶
type UserStatus struct {
Emoji string `json:"emoji"`
Availability AvailabilityValue `json:"availability"`
Message string `json:"message"`
MessageHTML string `json:"message_html"`
ClearStatusAt *time.Time `json:"clear_status_at"`
}
UserStatus represents the current status of a user
GitLab API docs: https://docs.gitlab.com/api/users/#retrieve-your-user-status
type UserStatusOptions ¶
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"`
ClearStatusAfter *ClearStatusAfterValue `url:"clear_status_after,omitempty" json:"clear_status_after,omitempty"`
}
UserStatusOptions represents the options required to set the status
GitLab API docs: https://docs.gitlab.com/api/users/#set-your-user-status
type UserSystemEvent ¶
type UserSystemEvent struct {
BaseSystemEvent
ID int64 `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"`
}
UserSystemEvent represents a user system event.
GitLab API docs: https://docs.gitlab.com/administration/system_hooks/
type UserTeamSystemEvent ¶
type UserTeamSystemEvent struct {
BaseSystemEvent
ID int64 `json:"user_id"`
Name string `json:"user_name"`
Username string `json:"user_username"`
Email string `json:"user_email"`
ProjectID int64 `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"`
}
UserTeamSystemEvent represents a user team system event.
GitLab API docs: https://docs.gitlab.com/administration/system_hooks/
type UsersService ¶
type UsersService struct {
// contains filtered or unexported fields
}
UsersService handles communication with the user related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/users/
func (*UsersService) ActivateUser ¶
func (s *UsersService) ActivateUser(user int64, options ...RequestOptionFunc) (*Response, error)
func (*UsersService) AddEmail ¶
func (s *UsersService) AddEmail(opt *AddEmailOptions, options ...RequestOptionFunc) (*Email, *Response, error)
func (*UsersService) AddEmailForUser ¶
func (s *UsersService) AddEmailForUser(user int64, opt *AddEmailOptions, options ...RequestOptionFunc) (*Email, *Response, error)
func (*UsersService) AddGPGKey ¶
func (s *UsersService) AddGPGKey(opt *AddGPGKeyOptions, options ...RequestOptionFunc) (*GPGKey, *Response, error)
func (*UsersService) AddGPGKeyForUser ¶
func (s *UsersService) AddGPGKeyForUser(user int64, opt *AddGPGKeyOptions, options ...RequestOptionFunc) (*GPGKey, *Response, error)
func (*UsersService) AddSSHKey ¶
func (s *UsersService) AddSSHKey(opt *AddSSHKeyOptions, options ...RequestOptionFunc) (*SSHKey, *Response, error)
func (*UsersService) AddSSHKeyForUser ¶
func (s *UsersService) AddSSHKeyForUser(user int64, opt *AddSSHKeyOptions, options ...RequestOptionFunc) (*SSHKey, *Response, error)
func (*UsersService) ApproveUser ¶
func (s *UsersService) ApproveUser(user int64, options ...RequestOptionFunc) (*Response, error)
func (*UsersService) BanUser ¶
func (s *UsersService) BanUser(user int64, options ...RequestOptionFunc) (*Response, error)
func (*UsersService) BlockUser ¶
func (s *UsersService) BlockUser(user int64, options ...RequestOptionFunc) (*Response, error)
func (*UsersService) CreateImpersonationToken ¶
func (s *UsersService) CreateImpersonationToken(user int64, opt *CreateImpersonationTokenOptions, options ...RequestOptionFunc) (*ImpersonationToken, *Response, error)
func (*UsersService) CreatePersonalAccessToken ¶
func (s *UsersService) CreatePersonalAccessToken(user int64, opt *CreatePersonalAccessTokenOptions, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
func (*UsersService) CreatePersonalAccessTokenForCurrentUser ¶
func (s *UsersService) CreatePersonalAccessTokenForCurrentUser(opt *CreatePersonalAccessTokenForCurrentUserOptions, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
func (*UsersService) CreateServiceAccountUser ¶
func (s *UsersService) CreateServiceAccountUser(opts *CreateServiceAccountUserOptions, options ...RequestOptionFunc) (*User, *Response, error)
func (*UsersService) CreateUser ¶
func (s *UsersService) CreateUser(opt *CreateUserOptions, options ...RequestOptionFunc) (*User, *Response, error)
func (*UsersService) CreateUserRunner ¶
func (s *UsersService) CreateUserRunner(opts *CreateUserRunnerOptions, options ...RequestOptionFunc) (*UserRunner, *Response, error)
func (*UsersService) CurrentUser ¶
func (s *UsersService) CurrentUser(options ...RequestOptionFunc) (*User, *Response, error)
func (*UsersService) CurrentUserStatus ¶
func (s *UsersService) CurrentUserStatus(options ...RequestOptionFunc) (*UserStatus, *Response, error)
func (*UsersService) DeactivateUser ¶
func (s *UsersService) DeactivateUser(user int64, options ...RequestOptionFunc) (*Response, error)
func (*UsersService) DeleteEmail ¶
func (s *UsersService) DeleteEmail(email int64, options ...RequestOptionFunc) (*Response, error)
func (*UsersService) DeleteEmailForUser ¶
func (s *UsersService) DeleteEmailForUser(user, email int64, options ...RequestOptionFunc) (*Response, error)
func (*UsersService) DeleteGPGKey ¶
func (s *UsersService) DeleteGPGKey(key int64, options ...RequestOptionFunc) (*Response, error)
func (*UsersService) DeleteGPGKeyForUser ¶
func (s *UsersService) DeleteGPGKeyForUser(user, key int64, options ...RequestOptionFunc) (*Response, error)
func (*UsersService) DeleteSSHKey ¶
func (s *UsersService) DeleteSSHKey(key int64, options ...RequestOptionFunc) (*Response, error)
func (*UsersService) DeleteSSHKeyForUser ¶
func (s *UsersService) DeleteSSHKeyForUser(user, key int64, options ...RequestOptionFunc) (*Response, error)
func (*UsersService) DeleteUser ¶
func (s *UsersService) DeleteUser(user int64, options ...RequestOptionFunc) (*Response, error)
func (*UsersService) DeleteUserIdentity ¶
func (s *UsersService) DeleteUserIdentity(user int64, provider string, options ...RequestOptionFunc) (*Response, error)
func (*UsersService) DisableTwoFactor ¶
func (s *UsersService) DisableTwoFactor(user int64, options ...RequestOptionFunc) (*Response, error)
func (*UsersService) GetAllImpersonationTokens ¶
func (s *UsersService) GetAllImpersonationTokens(user int64, opt *GetAllImpersonationTokensOptions, options ...RequestOptionFunc) ([]*ImpersonationToken, *Response, error)
func (*UsersService) GetEmail ¶
func (s *UsersService) GetEmail(email int64, options ...RequestOptionFunc) (*Email, *Response, error)
func (*UsersService) GetGPGKey ¶
func (s *UsersService) GetGPGKey(key int64, options ...RequestOptionFunc) (*GPGKey, *Response, error)
func (*UsersService) GetGPGKeyForUser ¶
func (s *UsersService) GetGPGKeyForUser(user, key int64, options ...RequestOptionFunc) (*GPGKey, *Response, error)
func (*UsersService) GetImpersonationToken ¶
func (s *UsersService) GetImpersonationToken(user, token int64, options ...RequestOptionFunc) (*ImpersonationToken, *Response, error)
func (*UsersService) GetSSHKey ¶
func (s *UsersService) GetSSHKey(key int64, options ...RequestOptionFunc) (*SSHKey, *Response, error)
func (*UsersService) GetSSHKeyForUser ¶
func (s *UsersService) GetSSHKeyForUser(user int64, key int64, options ...RequestOptionFunc) (*SSHKey, *Response, error)
func (*UsersService) GetUser ¶
func (s *UsersService) GetUser(user int64, opt *GetUserOptions, options ...RequestOptionFunc) (*User, *Response, error)
func (*UsersService) GetUserActivities ¶
func (s *UsersService) GetUserActivities(opt *GetUserActivitiesOptions, options ...RequestOptionFunc) ([]*UserActivity, *Response, error)
func (*UsersService) GetUserAssociationsCount ¶
func (s *UsersService) GetUserAssociationsCount(user int64, options ...RequestOptionFunc) (*UserAssociationsCount, *Response, error)
GetUserAssociationsCount gets a list of a specified user associations.
GitLab API docs: https://docs.gitlab.com/api/users/#get-a-count-of-a-users-projects-groups-issues-and-merge-requests
func (*UsersService) GetUserMemberships ¶
func (s *UsersService) GetUserMemberships(user int64, opt *GetUserMembershipOptions, options ...RequestOptionFunc) ([]*UserMembership, *Response, error)
func (*UsersService) GetUserStatus ¶
func (s *UsersService) GetUserStatus(uid any, options ...RequestOptionFunc) (*UserStatus, *Response, error)
GetUserStatus retrieves a user's status.
uid can be either a user ID (int) or a username (string). If a username is provided with a leading "@" (e.g., "@johndoe"), it will be trimmed.
GitLab API docs: https://docs.gitlab.com/api/users/#get-the-status-of-a-user
func (*UsersService) ListEmails ¶
func (s *UsersService) ListEmails(options ...RequestOptionFunc) ([]*Email, *Response, error)
func (*UsersService) ListEmailsForUser ¶
func (s *UsersService) ListEmailsForUser(user int64, opt *ListEmailsForUserOptions, options ...RequestOptionFunc) ([]*Email, *Response, error)
func (*UsersService) ListGPGKeys ¶
func (s *UsersService) ListGPGKeys(options ...RequestOptionFunc) ([]*GPGKey, *Response, error)
func (*UsersService) ListGPGKeysForUser ¶
func (s *UsersService) ListGPGKeysForUser(user int64, options ...RequestOptionFunc) ([]*GPGKey, *Response, error)
func (*UsersService) ListSSHKeys ¶
func (s *UsersService) ListSSHKeys(opt *ListSSHKeysOptions, options ...RequestOptionFunc) ([]*SSHKey, *Response, error)
func (*UsersService) ListSSHKeysForUser ¶
func (s *UsersService) ListSSHKeysForUser(uid any, opt *ListSSHKeysForUserOptions, options ...RequestOptionFunc) ([]*SSHKey, *Response, error)
ListSSHKeysForUser gets a list of a specified user's SSH keys.
uid can be either a user ID (int) or a username (string). If a username is provided with a leading "@" (e.g., "@johndoe"), it will be trimmed.
GitLab API docs: https://docs.gitlab.com/api/user_keys/#list-all-ssh-keys-for-a-user
func (*UsersService) ListServiceAccounts ¶
func (s *UsersService) ListServiceAccounts(opt *ListServiceAccountsOptions, options ...RequestOptionFunc) ([]*ServiceAccount, *Response, error)
func (*UsersService) ListUserContributionEvents ¶
func (s *UsersService) ListUserContributionEvents(uid any, opt *ListContributionEventsOptions, options ...RequestOptionFunc) ([]*ContributionEvent, *Response, error)
func (*UsersService) ListUsers ¶
func (s *UsersService) ListUsers(opt *ListUsersOptions, options ...RequestOptionFunc) ([]*User, *Response, error)
func (*UsersService) ModifyUser ¶
func (s *UsersService) ModifyUser(user int64, opt *ModifyUserOptions, options ...RequestOptionFunc) (*User, *Response, error)
func (*UsersService) RejectUser ¶
func (s *UsersService) RejectUser(user int64, options ...RequestOptionFunc) (*Response, error)
func (*UsersService) RevokeImpersonationToken ¶
func (s *UsersService) RevokeImpersonationToken(user, token int64, options ...RequestOptionFunc) (*Response, error)
func (*UsersService) SetUserStatus ¶
func (s *UsersService) SetUserStatus(opt *UserStatusOptions, options ...RequestOptionFunc) (*UserStatus, *Response, error)
func (*UsersService) UnbanUser ¶
func (s *UsersService) UnbanUser(user int64, options ...RequestOptionFunc) (*Response, error)
func (*UsersService) UnblockUser ¶
func (s *UsersService) UnblockUser(user int64, options ...RequestOptionFunc) (*Response, error)
func (*UsersService) UploadAvatar ¶
func (s *UsersService) UploadAvatar(avatar io.Reader, filename string, options ...RequestOptionFunc) (*User, *Response, error)
type UsersServiceInterface ¶
type UsersServiceInterface interface {
// ListUsers gets a list of users.
//
// GitLab API docs: https://docs.gitlab.com/api/users/#list-users
ListUsers(opt *ListUsersOptions, options ...RequestOptionFunc) ([]*User, *Response, error)
// GetUser gets a single user.
//
// GitLab API docs: https://docs.gitlab.com/api/users/#get-a-single-user
GetUser(user int64, opt *GetUserOptions, options ...RequestOptionFunc) (*User, *Response, error)
// CreateUser creates a new user. Note only administrators can create new users.
//
// GitLab API docs: https://docs.gitlab.com/api/users/#create-a-user
CreateUser(opt *CreateUserOptions, 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/api/users/#modify-a-user
ModifyUser(user int64, opt *ModifyUserOptions, options ...RequestOptionFunc) (*User, *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/api/users/#delete-a-user
DeleteUser(user int64, options ...RequestOptionFunc) (*Response, error)
// CurrentUser gets currently authenticated user.
//
// GitLab API docs: https://docs.gitlab.com/api/users/#get-the-current-user
CurrentUser(options ...RequestOptionFunc) (*User, *Response, error)
// CurrentUserStatus retrieves the user status
//
// GitLab API docs:
// https://docs.gitlab.com/api/users/#get-your-user-status
CurrentUserStatus(options ...RequestOptionFunc) (*UserStatus, *Response, error)
// GetUserStatus retrieves a user's status.
//
// uid can be either a user ID (int) or a username (string); will trim one "@" character off the username, if present.
// Other types will cause an error to be returned.
//
// GitLab API docs:
// https://docs.gitlab.com/api/users/#get-the-status-of-a-user
GetUserStatus(uid any, options ...RequestOptionFunc) (*UserStatus, *Response, error)
// SetUserStatus sets the user's status
//
// GitLab API docs:
// https://docs.gitlab.com/api/users/#set-your-user-status
SetUserStatus(opt *UserStatusOptions, options ...RequestOptionFunc) (*UserStatus, *Response, error)
// GetUserAssociationsCount gets a list of a specified user's associations.
//
// GitLab API docs:
// https://docs.gitlab.com/api/users/#get-a-count-of-a-users-projects-groups-issues-and-merge-requests
GetUserAssociationsCount(user int64, options ...RequestOptionFunc) (*UserAssociationsCount, *Response, error)
// ListSSHKeys gets a list of currently authenticated user's SSH keys.
//
// GitLab API docs: https://docs.gitlab.com/api/user_keys/#list-all-ssh-keys
ListSSHKeys(opt *ListSSHKeysOptions, options ...RequestOptionFunc) ([]*SSHKey, *Response, error)
// ListSSHKeysForUser gets a list of a specified user's SSH keys.
//
// uid can be either a user ID (int) or a username (string). If a username
// is provided with a leading "@" (e.g., "@johndoe"), it will be trimmed.
//
// GitLab API docs:
// https://docs.gitlab.com/api/user_keys/#list-all-ssh-keys-for-a-user
ListSSHKeysForUser(uid any, opt *ListSSHKeysForUserOptions, options ...RequestOptionFunc) ([]*SSHKey, *Response, error)
// GetSSHKey gets a single key.
//
// GitLab API docs: https://docs.gitlab.com/api/user_keys/#get-an-ssh-key
GetSSHKey(key int64, options ...RequestOptionFunc) (*SSHKey, *Response, error)
// GetSSHKeyForUser gets a single key for a given user.
//
// GitLab API docs: https://docs.gitlab.com/api/user_keys/#get-an-ssh-key-for-a-user
GetSSHKeyForUser(user int64, key int64, options ...RequestOptionFunc) (*SSHKey, *Response, error)
// AddSSHKey creates a new key owned by the currently authenticated user.
//
// GitLab API docs: https://docs.gitlab.com/api/user_keys/#add-an-ssh-key
AddSSHKey(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/api/user_keys/#add-an-ssh-key-for-a-user
AddSSHKeyForUser(user int64, opt *AddSSHKeyOptions, options ...RequestOptionFunc) (*SSHKey, *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/api/user_keys/#delete-an-ssh-key
DeleteSSHKey(key int64, options ...RequestOptionFunc) (*Response, error)
// DeleteSSHKeyForUser deletes key owned by a specified user. Available only
// for admin.
//
// GitLab API docs:
// https://docs.gitlab.com/api/user_keys/#delete-an-ssh-key-for-a-user
DeleteSSHKeyForUser(user, key int64, options ...RequestOptionFunc) (*Response, error)
// ListGPGKeys gets a list of currently authenticated user’s GPG keys.
//
// GitLab API docs: https://docs.gitlab.com/api/user_keys/#list-all-gpg-keys
ListGPGKeys(options ...RequestOptionFunc) ([]*GPGKey, *Response, error)
// GetGPGKey gets a specific GPG key of currently authenticated user.
//
// GitLab API docs: https://docs.gitlab.com/api/user_keys/#get-a-gpg-key
GetGPGKey(key int64, options ...RequestOptionFunc) (*GPGKey, *Response, error)
// AddGPGKey creates a new GPG key owned by the currently authenticated user.
//
// GitLab API docs: https://docs.gitlab.com/api/user_keys/#add-a-gpg-key
AddGPGKey(opt *AddGPGKeyOptions, options ...RequestOptionFunc) (*GPGKey, *Response, error)
// DeleteGPGKey deletes a GPG key owned by currently authenticated user.
//
// GitLab API docs: https://docs.gitlab.com/api/user_keys/#delete-a-gpg-key
DeleteGPGKey(key int64, options ...RequestOptionFunc) (*Response, error)
// ListGPGKeysForUser gets a list of a specified user’s GPG keys.
//
// GitLab API docs:
// https://docs.gitlab.com/api/user_keys/#list-all-gpg-keys-for-a-user
ListGPGKeysForUser(user int64, options ...RequestOptionFunc) ([]*GPGKey, *Response, error)
// GetGPGKeyForUser gets a specific GPG key for a given user.
//
// GitLab API docs: https://docs.gitlab.com/api/user_keys/#get-a-gpg-key-for-a-user
GetGPGKeyForUser(user, key int64, options ...RequestOptionFunc) (*GPGKey, *Response, error)
// AddGPGKeyForUser creates new GPG key owned by the specified user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/user_keys/#add-a-gpg-key-for-a-user
AddGPGKeyForUser(user int64, opt *AddGPGKeyOptions, options ...RequestOptionFunc) (*GPGKey, *Response, error)
// DeleteGPGKeyForUser deletes a GPG key owned by a specified user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/user_keys/#delete-a-gpg-key-for-a-user
DeleteGPGKeyForUser(user, key int64, options ...RequestOptionFunc) (*Response, error)
// ListEmails gets a list of currently authenticated user's Emails.
//
// GitLab API docs:
// https://docs.gitlab.com/api/user_email_addresses/#list-all-email-addresses
ListEmails(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/api/user_email_addresses/#list-all-email-addresses-for-a-user
ListEmailsForUser(user int64, opt *ListEmailsForUserOptions, options ...RequestOptionFunc) ([]*Email, *Response, error)
// GetEmail gets a single email.
//
// GitLab API docs:
// https://docs.gitlab.com/api/user_email_addresses/#get-details-on-an-email-address
GetEmail(email int64, options ...RequestOptionFunc) (*Email, *Response, error)
// AddEmail creates a new email owned by the currently authenticated user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/user_email_addresses/#add-an-email-address
AddEmail(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/api/user_email_addresses/#add-an-email-address-for-a-user
AddEmailForUser(user int64, opt *AddEmailOptions, options ...RequestOptionFunc) (*Email, *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/api/user_email_addresses/#delete-an-email-address
DeleteEmail(email int64, options ...RequestOptionFunc) (*Response, error)
// DeleteEmailForUser deletes email owned by a specified user. Available only
// for admin.
//
// GitLab API docs:
// https://docs.gitlab.com/api/user_email_addresses/#delete-an-email-address-for-a-user
DeleteEmailForUser(user, email int64, options ...RequestOptionFunc) (*Response, error)
// BlockUser blocks the specified user. Available only for admin.
//
// GitLab API docs: https://docs.gitlab.com/api/user_moderation/#block-access-to-a-user
BlockUser(user int64, options ...RequestOptionFunc) (*Response, error)
// UnblockUser unblocks the specified user. Available only for admin.
//
// GitLab API docs: https://docs.gitlab.com/api/user_moderation/#unblock-access-to-a-user
UnblockUser(user int64, options ...RequestOptionFunc) (*Response, error)
// BanUser bans the specified user. Available only for admin.
//
// GitLab API docs: https://docs.gitlab.com/api/user_moderation/#ban-a-user
BanUser(user int64, options ...RequestOptionFunc) (*Response, error)
// UnbanUser unbans the specified user. Available only for admin.
//
// GitLab API docs: https://docs.gitlab.com/api/user_moderation/#unban-a-user
UnbanUser(user int64, options ...RequestOptionFunc) (*Response, error)
// DeactivateUser deactivate the specified user. Available only for admin.
//
// GitLab API docs: https://docs.gitlab.com/api/user_moderation/#deactivate-a-user
DeactivateUser(user int64, options ...RequestOptionFunc) (*Response, error)
// ActivateUser activate the specified user. Available only for admin.
//
// GitLab API docs: https://docs.gitlab.com/api/user_moderation/#reactivate-a-user
ActivateUser(user int64, options ...RequestOptionFunc) (*Response, error)
// ApproveUser approve the specified user. Available only for admin.
//
// GitLab API docs: https://docs.gitlab.com/api/user_moderation/#approve-access-to-a-user
ApproveUser(user int64, options ...RequestOptionFunc) (*Response, error)
// RejectUser reject the specified user. Available only for admin.
//
// GitLab API docs: https://docs.gitlab.com/api/user_moderation/#reject-access-to-a-user
RejectUser(user int64, options ...RequestOptionFunc) (*Response, error)
// GetAllImpersonationTokens retrieves all impersonation tokens of a user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/user_tokens/#list-all-impersonation-tokens-for-a-user
GetAllImpersonationTokens(user int64, opt *GetAllImpersonationTokensOptions, options ...RequestOptionFunc) ([]*ImpersonationToken, *Response, error)
// GetImpersonationToken retrieves an impersonation token of a user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/user_tokens/#get-an-impersonation-token-for-a-user
GetImpersonationToken(user, token int64, options ...RequestOptionFunc) (*ImpersonationToken, *Response, error)
// CreateImpersonationToken creates an impersonation token.
//
// GitLab API docs:
// https://docs.gitlab.com/api/user_tokens/#create-an-impersonation-token
CreateImpersonationToken(user int64, opt *CreateImpersonationTokenOptions, options ...RequestOptionFunc) (*ImpersonationToken, *Response, error)
// RevokeImpersonationToken revokes an impersonation token.
//
// GitLab API docs:
// https://docs.gitlab.com/api/user_tokens/#revoke-an-impersonation-token
RevokeImpersonationToken(user, token int64, options ...RequestOptionFunc) (*Response, error)
// CreatePersonalAccessToken creates a personal access token.
//
// GitLab API docs:
// https://docs.gitlab.com/api/user_tokens/#create-a-personal-access-token-for-a-user
CreatePersonalAccessToken(user int64, opt *CreatePersonalAccessTokenOptions, 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/api/user_tokens/#create-a-personal-access-token
CreatePersonalAccessTokenForCurrentUser(opt *CreatePersonalAccessTokenForCurrentUserOptions, options ...RequestOptionFunc) (*PersonalAccessToken, *Response, error)
// GetUserActivities retrieves user activities (admin only)
//
// GitLab API docs:
// https://docs.gitlab.com/api/users/#list-a-users-activity
GetUserActivities(opt *GetUserActivitiesOptions, options ...RequestOptionFunc) ([]*UserActivity, *Response, error)
// GetUserMemberships retrieves a list of the user's memberships.
//
// GitLab API docs:
// https://docs.gitlab.com/api/users/#list-projects-and-groups-that-a-user-is-a-member-of
GetUserMemberships(user int64, opt *GetUserMembershipOptions, options ...RequestOptionFunc) ([]*UserMembership, *Response, error)
// DisableTwoFactor disables two factor authentication for the specified user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/users/#disable-two-factor-authentication-for-a-user
DisableTwoFactor(user int64, options ...RequestOptionFunc) (*Response, error)
// CreateUserRunner creates a runner linked to the current user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/users/#create-a-runner-linked-to-a-user
CreateUserRunner(opts *CreateUserRunnerOptions, options ...RequestOptionFunc) (*UserRunner, *Response, error)
// CreateServiceAccountUser creates a new service account user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/user_service_accounts/#create-a-service-account-user
CreateServiceAccountUser(opts *CreateServiceAccountUserOptions, options ...RequestOptionFunc) (*User, *Response, error)
// ListServiceAccounts lists all service accounts.
//
// GitLab API docs:
// https://docs.gitlab.com/api/user_service_accounts/#list-all-service-account-users
ListServiceAccounts(opt *ListServiceAccountsOptions, options ...RequestOptionFunc) ([]*ServiceAccount, *Response, error)
// UploadAvatar uploads an avatar to the current user.
//
// GitLab API docs:
// https://docs.gitlab.com/api/users/#upload-an-avatar-for-yourself
UploadAvatar(avatar io.Reader, filename string, options ...RequestOptionFunc) (*User, *Response, error)
// DeleteUserIdentity deletes a user's authentication identity using the provider
// name associated with that identity. Only available for administrators.
//
// GitLab API docs:
// https://docs.gitlab.com/api/users/#delete-authentication-identity-from-a-user
DeleteUserIdentity(user int64, provider string, options ...RequestOptionFunc) (*Response, error)
// events.go
ListUserContributionEvents(uid any, opt *ListContributionEventsOptions, options ...RequestOptionFunc) ([]*ContributionEvent, *Response, error)
}
type ValidateService ¶
type ValidateService struct {
// contains filtered or unexported fields
}
ValidateService handles communication with the validation related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/lint/
func (*ValidateService) ProjectLint ¶
func (s *ValidateService) ProjectLint(pid any, opt *ProjectLintOptions, options ...RequestOptionFunc) (*ProjectLintResult, *Response, error)
func (*ValidateService) ProjectNamespaceLint ¶
func (s *ValidateService) ProjectNamespaceLint(pid any, opt *ProjectNamespaceLintOptions, options ...RequestOptionFunc) (*ProjectLintResult, *Response, error)
type ValidateServiceInterface ¶
type ValidateServiceInterface interface {
// ProjectNamespaceLint validates .gitlab-ci.yml content by project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/lint/#validate-sample-cicd-configuration
ProjectNamespaceLint(pid any, opt *ProjectNamespaceLintOptions, options ...RequestOptionFunc) (*ProjectLintResult, *Response, error)
// ProjectLint validates .gitlab-ci.yml content by project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/lint/#validate-a-projects-cicd-configuration
ProjectLint(pid any, opt *ProjectLintOptions, options ...RequestOptionFunc) (*ProjectLintResult, *Response, error)
}
type VariableFilter ¶
type VariableFilter struct {
EnvironmentScope string `url:"environment_scope,omitempty" json:"environment_scope,omitempty"`
}
VariableFilter filters available for project variable related functions
type VariableTypeValue ¶
type VariableTypeValue string
VariableTypeValue represents a variable type within GitLab.
GitLab API docs: https://docs.gitlab.com/api/group_level_variables/
const ( EnvVariableType VariableTypeValue = "env_var" FileVariableType VariableTypeValue = "file" )
List of available variable types.
GitLab API docs: https://docs.gitlab.com/api/group_level_variables/
type VerifyRegisteredRunnerOptions ¶
type VerifyRegisteredRunnerOptions struct {
Token *string `url:"token" json:"token"`
}
VerifyRegisteredRunnerOptions represents the available VerifyRegisteredRunner() options.
GitLab API docs: https://docs.gitlab.com/api/runners/#verify-authentication-for-a-registered-runner
type Version ¶
Version represents a GitLab instance version.
GitLab API docs: https://docs.gitlab.com/api/version/
type VersionService ¶
type VersionService struct {
// contains filtered or unexported fields
}
VersionService handles communication with the GitLab server instance to retrieve its version information via the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/version/
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/api/version/
type VersionServiceInterface ¶
type VersionServiceInterface interface {
GetVersion(options ...RequestOptionFunc) (*Version, *Response, error)
}
type VisibilityValue ¶
type VisibilityValue string
VisibilityValue represents a visibility level within GitLab.
GitLab API docs: https://docs.gitlab.com/api/groups/
const ( PrivateVisibility VisibilityValue = "private" InternalVisibility VisibilityValue = "internal" PublicVisibility VisibilityValue = "public" )
List of available visibility levels.
GitLab API docs: https://docs.gitlab.com/api/groups/
type VulnerabilityEvent ¶
type VulnerabilityEvent struct {
ObjectKind string `json:"object_kind"`
ObjectAttributes VulnerabilityEventObjectAttributes `json:"object_attributes"`
}
VulnerabilityEvent represents a vulnerability event.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#vulnerability-events
type VulnerabilityEventCVSS ¶
type VulnerabilityEventIssue ¶
type VulnerabilityEventLocation ¶
type VulnerabilityEventLocation struct {
File string `json:"file"`
Dependency VulnerabilityEventLocationDependency `json:"dependency"`
}
type VulnerabilityEventLocationDependency ¶
type VulnerabilityEventLocationDependency struct {
Package VulnerabilityEventLocationDependencyPackage `json:"package"`
Version string `json:"version"`
}
type VulnerabilityEventLocationDependencyPackage ¶
type VulnerabilityEventLocationDependencyPackage struct {
Name string `json:"name"`
}
type VulnerabilityEventObjectAttributes ¶
type VulnerabilityEventObjectAttributes struct {
ID int64 `json:"id"`
URL string `json:"url"`
Title string `json:"title"`
State string `json:"state"`
ProjectID int64 `json:"project_id"`
Location VulnerabilityEventLocation `json:"location"`
CVSS []VulnerabilityEventCVSS `json:"cvss"`
Severity string `json:"severity"`
SeverityOverridden bool `json:"severity_overridden"`
Identifiers []VulnerabilityEventIdentifier `json:"identifiers"`
Issues []VulnerabilityEventIssue `json:"issues"`
ReportType string `json:"report_type"`
Confidence string `json:"confidence"`
ConfidenceOverridden bool `json:"confidence_overridden"`
ConfirmedAt string `json:"confirmed_at"`
ConfirmedByID int64 `json:"confirmed_by_id"`
DismissedAt string `json:"dismissed_at"`
DismissedByID int64 `json:"dismissed_by_id"`
ResolvedAt string `json:"resolved_at"`
ResolvedByID int64 `json:"resolved_by_id"`
AutoResolved bool `json:"auto_resolved"`
ResolvedOnDefaultBranch bool `json:"resolved_on_default_branch"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
}
type WebexTeamsIntegration ¶
type WebexTeamsIntegration struct {
Integration
Properties WebexTeamsIntegrationProperties `json:"properties"`
}
WebexTeamsIntegration represents the WebexTeams integration settings.
GitLab API docs: https://docs.gitlab.com/api/group_integrations/#get-webex-teams-settings
type WebexTeamsIntegrationProperties ¶
type WebexTeamsIntegrationProperties struct {
NotifyOnlyBrokenPipelines bool `json:"notify_only_broken_pipelines,omitempty"`
BranchesToBeNotified string `json:"branches_to_be_notified,omitempty"`
}
WebexTeamsIntegrationProperties represents WebexTeams specific properties
type WeightEvent ¶
type WeightEvent struct {
ID int64 `json:"id"`
User *BasicUser `json:"user"`
CreatedAt *time.Time `json:"created_at"`
ResourceType string `json:"resource_type"`
ResourceID int64 `json:"resource_id"`
State EventTypeValue `json:"state"`
IssueID int64 `json:"issue_id"`
Weight int64 `json:"weight"`
}
WeightEvent represents a resource weight event.
GitLab API docs: https://docs.gitlab.com/api/resource_weight_events/
type Wiki ¶
type Wiki struct {
Content string `json:"content"`
Encoding string `json:"encoding"`
Format WikiFormatValue `json:"format"`
Slug string `json:"slug"`
Title string `json:"title"`
}
Wiki represents a GitLab wiki.
GitLab API docs: https://docs.gitlab.com/api/wikis/
type WikiAttachment ¶
type WikiAttachment struct {
FileName string `json:"file_name"`
FilePath string `json:"file_path"`
Branch string `json:"branch"`
Link WikiAttachmentLink `json:"link"`
}
WikiAttachment represents a GitLab wiki attachment.
GitLab API docs: https://docs.gitlab.com/api/wikis/
func (WikiAttachment) String ¶
func (wa WikiAttachment) String() string
type WikiAttachmentLink ¶
WikiAttachmentLink represents a GitLab wiki attachment link.
GitLab API docs: https://docs.gitlab.com/api/wikis/
type WikiFormatValue ¶
type WikiFormatValue string
WikiFormatValue represents the available wiki formats.
GitLab API docs: https://docs.gitlab.com/api/wikis/
const ( WikiFormatMarkdown WikiFormatValue = "markdown" WikiFormatRDoc WikiFormatValue = "rdoc" WikiFormatASCIIDoc WikiFormatValue = "asciidoc" WikiFormatOrg WikiFormatValue = "org" )
The available wiki formats.
type WikiPageEvent ¶
type WikiPageEvent struct {
ObjectKind string `json:"object_kind"`
User *EventUser `json:"user"`
Project WikiPageEventProject `json:"project"`
Wiki WikiPageEventWiki `json:"wiki"`
ObjectAttributes WikiPageEventObjectAttributes `json:"object_attributes"`
}
WikiPageEvent represents a wiki page event.
GitLab API docs: https://docs.gitlab.com/user/project/integrations/webhook_events/#wiki-page-events
type WikiPageEventProject ¶
type WikiPageEventProject 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"`
}
type WikiPageEventWiki ¶
type WikisService ¶
type WikisService struct {
// contains filtered or unexported fields
}
WikisService handles communication with the wikis related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/wikis/
func (*WikisService) CreateWikiPage ¶
func (s *WikisService) CreateWikiPage(pid any, opt *CreateWikiPageOptions, options ...RequestOptionFunc) (*Wiki, *Response, error)
func (*WikisService) DeleteWikiPage ¶
func (s *WikisService) DeleteWikiPage(pid any, slug string, options ...RequestOptionFunc) (*Response, error)
func (*WikisService) EditWikiPage ¶
func (s *WikisService) EditWikiPage(pid any, slug string, opt *EditWikiPageOptions, options ...RequestOptionFunc) (*Wiki, *Response, error)
func (*WikisService) GetWikiPage ¶
func (s *WikisService) GetWikiPage(pid any, slug string, opt *GetWikiPageOptions, options ...RequestOptionFunc) (*Wiki, *Response, error)
func (*WikisService) ListWikis ¶
func (s *WikisService) ListWikis(pid any, opt *ListWikisOptions, options ...RequestOptionFunc) ([]*Wiki, *Response, error)
func (*WikisService) UploadWikiAttachment ¶
func (s *WikisService) UploadWikiAttachment(pid any, content io.Reader, filename string, opt *UploadWikiAttachmentOptions, options ...RequestOptionFunc) (*WikiAttachment, *Response, error)
type WikisServiceInterface ¶
type WikisServiceInterface interface {
// 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/api/wikis/#list-all-wiki-pages
ListWikis(pid any, opt *ListWikisOptions, options ...RequestOptionFunc) ([]*Wiki, *Response, error)
// GetWikiPage gets a wiki page for a given project.
//
// GitLab API docs:
// https://docs.gitlab.com/api/wikis/#retrieve-a-wiki-page
GetWikiPage(pid any, slug string, opt *GetWikiPageOptions, 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/api/wikis/#create-a-wiki-page
CreateWikiPage(pid any, opt *CreateWikiPageOptions, 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/api/wikis/#update-a-wiki-page
EditWikiPage(pid any, slug string, opt *EditWikiPageOptions, options ...RequestOptionFunc) (*Wiki, *Response, error)
// DeleteWikiPage deletes a wiki page with a given slug.
//
// GitLab API docs:
// https://docs.gitlab.com/api/wikis/#delete-a-wiki-page
DeleteWikiPage(pid any, slug string, options ...RequestOptionFunc) (*Response, error)
// UploadWikiAttachment uploads a file to the attachment folder inside the wiki’s repository. The attachment folder is the uploads folder.
//
// GitLab API docs:
// https://docs.gitlab.com/api/wikis/#upload-an-attachment-to-the-wiki-repository
UploadWikiAttachment(pid any, content io.Reader, filename string, opt *UploadWikiAttachmentOptions, options ...RequestOptionFunc) (*WikiAttachment, *Response, error)
}
type WorkItem ¶
type WorkItem struct {
ID int64
IID int64
Type string
State string
Status *string
Title string
Description string
CreatedAt *time.Time
UpdatedAt *time.Time
ClosedAt *time.Time
WebURL string
Author *BasicUser
Assignees []*BasicUser
Color *string
Confidential bool
DueDate *ISOTime
HealthStatus *string
IterationID *int64
Labels []LabelDetails
LinkedItems []LinkedWorkItem
MilestoneID *int64
Parent *WorkItemIID
StartDate *ISOTime
Weight *int64
}
WorkItem represents a GitLab work item.
GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#workitem
Experimental: The Work Items API is a work in progress and may introduce breaking changes even between minor versions.
type WorkItemIID ¶
WorkItemIID identifies a work item by its namespace path and internal ID.
Experimental: The Work Items API is a work in progress and may introduce breaking changes even between minor versions.
type WorkItemStateEvent ¶ added in v2.5.0
type WorkItemStateEvent string
WorkItemStateEvent represents a state change event for a work item.
const ( WorkItemStateEventClose WorkItemStateEvent = "CLOSE" WorkItemStateEventReopen WorkItemStateEvent = "REOPEN" )
type WorkItemStatusID ¶ added in v2.5.0
type WorkItemStatusID string
WorkItemStatusID represents the global ID of a work item status.
GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#workitemsstatus
Experimental: The Work Items API is a work in progress and may introduce breaking changes even between minor versions.
const ( WorkItemStatusToDo WorkItemStatusID = `gid://gitlab/WorkItems::Statuses::SystemDefined::Status/1` WorkItemStatusInProgress WorkItemStatusID = `gid://gitlab/WorkItems::Statuses::SystemDefined::Status/2` WorkItemStatusDone WorkItemStatusID = `gid://gitlab/WorkItems::Statuses::SystemDefined::Status/3` WorkItemStatusWontDo WorkItemStatusID = `gid://gitlab/WorkItems::Statuses::SystemDefined::Status/4` WorkItemStatusDuplicate WorkItemStatusID = `gid://gitlab/WorkItems::Statuses::SystemDefined::Status/5` )
WorkItemStatusID constants for the system-defined work item statuses.
type WorkItemTypeID ¶
type WorkItemTypeID string
WorkItemTypeID represents the global ID of a work item type.
GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#workitemtype
Experimental: The Work Items API is a work in progress and may introduce breaking changes even between minor versions.
const ( WorkItemTypeIssue WorkItemTypeID = `gid://gitlab/WorkItems::Type/1` WorkItemTypeIncident WorkItemTypeID = `gid://gitlab/WorkItems::Type/2` WorkItemTypeTestCase WorkItemTypeID = `gid://gitlab/WorkItems::Type/3` WorkItemTypeRequirement WorkItemTypeID = `gid://gitlab/WorkItems::Type/4` WorkItemTypeTask WorkItemTypeID = `gid://gitlab/WorkItems::Type/5` WorkItemTypeObjective WorkItemTypeID = `gid://gitlab/WorkItems::Type/6` WorkItemTypeKeyResult WorkItemTypeID = `gid://gitlab/WorkItems::Type/7` WorkItemTypeEpic WorkItemTypeID = `gid://gitlab/WorkItems::Type/8` WorkItemTypeTicket WorkItemTypeID = `gid://gitlab/WorkItems::Type/9` )
WorkItemTypeID constants for the system-defined work item types.
type WorkItemsService ¶
type WorkItemsService struct {
// contains filtered or unexported fields
}
WorkItemsService handles communication with the work item related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#workitem
Experimental: The Work Items API is a work in progress and may introduce breaking changes even between minor versions.
func (*WorkItemsService) CreateWorkItem ¶
func (s *WorkItemsService) CreateWorkItem(fullPath string, workItemTypeID WorkItemTypeID, opt *CreateWorkItemOptions, options ...RequestOptionFunc) (*WorkItem, *Response, error)
CreateWorkItem creates a new work item.
fullPath is the full path to either a group or project. workItemTypeID is the GraphQL ID of the work item type. opt contains the options for creating the work item.
GitLab API docs: https://docs.gitlab.com/ee/api/graphql/reference/#workitemcreateinput
Experimental: The Work Items API is a work in progress and may introduce breaking changes even between minor versions.
func (*WorkItemsService) DeleteWorkItem ¶ added in v2.7.0
func (s *WorkItemsService) DeleteWorkItem(fullPath string, iid int64, options ...RequestOptionFunc) (*Response, error)
DeleteWorkItem deletes a single work item.
GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#mutationworkitemdelete
func (*WorkItemsService) GetWorkItem ¶
func (s *WorkItemsService) GetWorkItem(fullPath string, iid int64, options ...RequestOptionFunc) (*WorkItem, *Response, error)
GetWorkItem gets a single work item.
fullPath is the full path to either a group or project. iid is the internal ID of the work item.
GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#namespaceworkitem
Experimental: The Work Items API is a work in progress and may introduce breaking changes even between minor versions.
func (*WorkItemsService) ListWorkItems ¶
func (s *WorkItemsService) ListWorkItems(fullPath string, opt *ListWorkItemsOptions, options ...RequestOptionFunc) ([]*WorkItem, *Response, error)
ListWorkItems lists workitems in a given namespace (group or project).
GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#namespaceworkitems
Experimental: The Work Items API is a work in progress and may introduce breaking changes even between minor versions.
func (*WorkItemsService) UpdateWorkItem ¶ added in v2.5.0
func (s *WorkItemsService) UpdateWorkItem(fullPath string, iid int64, opt *UpdateWorkItemOptions, options ...RequestOptionFunc) (*WorkItem, *Response, error)
UpdateWorkItem updates a work item by fullPath and iid.
GitLab API docs: https://docs.gitlab.com/api/graphql/reference/#mutationworkitemupdate
Experimental: The Work Items API is a work in progress and may introduce breaking changes even between minor versions.
type WorkItemsServiceInterface ¶
type WorkItemsServiceInterface interface {
CreateWorkItem(fullPath string, workItemTypeID WorkItemTypeID, opt *CreateWorkItemOptions, options ...RequestOptionFunc) (*WorkItem, *Response, error)
GetWorkItem(fullPath string, iid int64, options ...RequestOptionFunc) (*WorkItem, *Response, error)
ListWorkItems(fullPath string, opt *ListWorkItemsOptions, options ...RequestOptionFunc) ([]*WorkItem, *Response, error)
UpdateWorkItem(fullPath string, iid int64, opt *UpdateWorkItemOptions, options ...RequestOptionFunc) (*WorkItem, *Response, error)
DeleteWorkItem(fullPath string, iid int64, options ...RequestOptionFunc) (*Response, error)
}
type X509Certificate ¶
type X509Certificate struct {
ID int64 `json:"id"`
Subject string `json:"subject"`
SubjectKeyIdentifier string `json:"subject_key_identifier"`
Email string `json:"email"`
SerialNumber *big.Int `json:"serial_number"`
CertificateStatus string `json:"certificate_status"`
X509Issuer X509Issuer `json:"x509_issuer"`
}
type X509Issuer ¶
type X509Signature ¶
type X509Signature struct {
SignatureType string `json:"signature_type"`
VerificationStatus string `json:"verification_status"`
X509Certificate X509Certificate `json:"x509_certificate"`
}
X509Signature represents a GitLab Tag Signature object.
GitLab API docs: https://docs.gitlab.com/api/tags/#get-x509-signature-of-a-tag
type YouTrackService ¶
type YouTrackService struct {
Service
Properties *YouTrackServiceProperties `json:"properties"`
}
YouTrackService represents YouTrack service settings.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#youtrack
type YouTrackServiceProperties ¶
type YouTrackServiceProperties struct {
IssuesURL string `json:"issues_url"`
ProjectURL string `json:"project_url"`
Description string `json:"description"`
PushEvents bool `json:"push_events"`
}
YouTrackServiceProperties represents YouTrack specific properties.
GitLab API docs: https://docs.gitlab.com/api/project_integrations/#youtrack
Source Files
¶
- access_requests.go
- admin_compliance_policy_settings.go
- alert_management.go
- appearance.go
- application_statistics.go
- applications.go
- attestations.go
- audit_events.go
- avatar.go
- award_emojis.go
- boards.go
- branches.go
- broadcast_messages.go
- bulk_imports.go
- ci_yml_templates.go
- client_options.go
- cluster_agents.go
- commits.go
- container_registry.go
- container_registry_protection_rules.go
- context.go
- custom_attributes.go
- database_migrations.go
- dependencies.go
- dependency_list_export.go
- dependency_proxy.go
- deploy_keys.go
- deploy_tokens.go
- deployments.go
- deployments_merge_requests.go
- discussions.go
- dockerfile_templates.go
- dora_metrics.go
- draft_notes.go
- enterprise_users.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_flag_user_lists.go
- feature_flags.go
- freeze_periods.go
- generic_packages.go
- geo_nodes.go
- geo_sites.go
- gitignore_templates.go
- gitlab.go
- graphql.go
- group_access_tokens.go
- group_activity_analytics.go
- group_badges.go
- group_boards.go
- group_clusters.go
- group_credentials.go
- group_epic_boards.go
- group_hooks.go
- group_import_export.go
- group_integrations.go
- group_iterations.go
- group_labels.go
- group_markdown_uploads.go
- group_members.go
- group_milestones.go
- group_protected_branches.go
- group_protected_environments.go
- group_relations_export.go
- group_releases.go
- group_repository_storage_move.go
- group_scim.go
- group_security_settings.go
- group_serviceaccounts.go
- group_ssh_certificates.go
- group_variables.go
- group_wikis.go
- groups.go
- import.go
- instance_clusters.go
- instance_variables.go
- integrations.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
- markdown_uploads.go
- member_roles.go
- merge_request_approval_settings.go
- merge_request_approvals.go
- merge_request_context_commits.go
- merge_requests.go
- merge_trains.go
- metadata.go
- milestones.go
- model_registry.go
- namespaces.go
- notes.go
- notifications.go
- nullable.go
- packages.go
- pages.go
- pages_domains.go
- pagination.go
- personal_access_tokens.go
- pipeline_schedules.go
- pipeline_triggers.go
- pipelines.go
- plan_limits.go
- project_access_tokens.go
- project_aliases.go
- project_badges.go
- project_clusters.go
- project_feature_flags.go
- project_import_export.go
- project_iterations.go
- project_markdown_uploads.go
- project_members.go
- project_mirror.go
- project_repository_storage_move.go
- project_security_settings.go
- project_snippets.go
- project_statistics.go
- project_target_branch_rules.go
- project_templates.go
- project_variables.go
- project_vulnerabilities.go
- projects.go
- protected_branches.go
- protected_environments.go
- protected_packages.go
- protected_tags.go
- releaselinks.go
- releases.go
- repositories.go
- repository_files.go
- repository_submodules.go
- request_handler.go
- request_options.go
- resource_group.go
- resource_iteration_events.go
- resource_label_events.go
- resource_milestone_events.go
- resource_state_events.go
- resource_weight_events.go
- runner_controller_scopes.go
- runner_controller_tokens.go
- runner_controllers.go
- runners.go
- search.go
- secure_files.go
- services.go
- settings.go
- sidekiq_metrics.go
- snippet_repository_storage_move.go
- snippets.go
- strings.go
- system_hooks.go
- tags.go
- terraform_states.go
- time_stats.go
- todos.go
- topics.go
- types.go
- usage_data.go
- users.go
- validate.go
- version.go
- wikis.go
- workitems.go
Directories
¶
| Path | Synopsis |
|---|---|
|
Package config provides functionality around an experimental GitLab config file to handle GitLab instance setups, including where to find them and how to authenticate with them.
|
Package config provides functionality around an experimental GitLab config file to handle GitLab instance setups, including where to find them and how to authenticate with them. |
|
examples
command
|
|
|
Package gitlaboauth2 provides OAuth2 configuration utilities for GitLab API clients.
|
Package gitlaboauth2 provides OAuth2 configuration utilities for GitLab API clients. |
|
Package testing provides test utilities for the GitLab API client
|
Package testing provides test utilities for the GitLab API client |