go-gitlab: github.com/xanzy/go-gitlab Index | Files | Directories

package gitlab

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

Package gitlab implements a GitLab API client.

Index

Package Files

access_requests.go award_emojis.go boards.go branches.go broadcast_messages.go ci_yml_templates.go commits.go custom_attributes.go deploy_keys.go deployments.go discussions.go environments.go epics.go event_parsing.go event_types.go events.go feature_flags.go gitignore_templates.go gitlab.go group_badges.go group_boards.go group_clusters.go group_labels.go group_members.go group_milestones.go group_variables.go groups.go issue_links.go issues.go jobs.go keys.go labels.go license.go license_templates.go merge_request_approvals.go merge_requests.go milestones.go namespaces.go notes.go notifications.go pages_domains.go pipeline_schedules.go pipeline_triggers.go pipelines.go project_badges.go project_clusters.go project_import_export.go project_members.go project_snippets.go project_variables.go projects.go protected_branches.go protected_tags.go registry.go releaselinks.go releases.go repositories.go repository_files.go resource_label_events.go runners.go search.go services.go settings.go sidekiq_metrics.go snippets.go strings.go system_hooks.go tags.go time_stats.go todos.go users.go validate.go version.go wikis.go

Variables

var (
    ErrUserBlockPrevented   = errors.New("Cannot block a user that is already blocked by LDAP synchronization")
    ErrUserNotFound         = errors.New("User does not exist")
    ErrUserUnblockPrevented = errors.New("Cannot unblock a user that is blocked by LDAP synchronization")
)

List a couple of standard errors.

func Bool Uses

func Bool(v bool) *bool

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

func CheckResponse Uses

func CheckResponse(r *http.Response) error

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

func Int Uses

func Int(v int) *int

Int is a helper routine that allocates a new int32 value to store v and returns a pointer to it, but unlike Int32 its argument value is an int.

func ParseWebhook Uses

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

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

Example usage:

func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) {

payload, err := ioutil.ReadAll(r.Body)
if err != nil { ... }
event, err := gitlab.ParseWebhook(gitlab.WebhookEventType(r), payload)
if err != nil { ... }
switch event := event.(type) {
case *gitlab.PushEvent:
    processPushEvent(event)
case *gitlab.MergeEvent:
    processMergeEvent(event)
...
}

}

func String Uses

func String(v string) *string

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

func Stringify Uses

func Stringify(message interface{}) string

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

func Time Uses

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

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

type AcceptMergeRequestOptions Uses

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

AcceptMergeRequestOptions represents the available AcceptMergeRequest() options.

GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#accept-mr

type AccessLevelValue Uses

type AccessLevelValue int

AccessLevelValue represents a permission level within GitLab.

GitLab API docs: https://docs.gitlab.com/ce/permissions/permissions.html

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

    // These are deprecated and should be removed in a future version
    MasterPermissions AccessLevelValue = 40
    OwnerPermission   AccessLevelValue = 50
)

List of available access levels

GitLab API docs: https://docs.gitlab.com/ce/permissions/permissions.html

func AccessLevel Uses

func AccessLevel(v AccessLevelValue) *AccessLevelValue

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

type AccessRequest Uses

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

AccessRequest represents a access request for a group or project.

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

type AccessRequestsService Uses

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/ce/api/access_requests.html

func (*AccessRequestsService) ApproveGroupAccessRequest Uses

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

ApproveGroupAccessRequest approves an access request for the given user.

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

func (*AccessRequestsService) ApproveProjectAccessRequest Uses

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

ApproveProjectAccessRequest approves an access request for the given user.

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

func (*AccessRequestsService) DenyGroupAccessRequest Uses

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

DenyGroupAccessRequest denies an access request for the given user.

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

func (*AccessRequestsService) DenyProjectAccessRequest Uses

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

DenyProjectAccessRequest denies an access request for the given user.

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

func (*AccessRequestsService) ListGroupAccessRequests Uses

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

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

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

func (*AccessRequestsService) ListProjectAccessRequests Uses

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

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

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

func (*AccessRequestsService) RequestGroupAccess Uses

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

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

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

func (*AccessRequestsService) RequestProjectAccess Uses

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

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

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

type AddClusterOptions Uses

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"`
}

AddClusterOptions represents the available AddCluster() options.

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

type AddCommitDiscussionNoteOptions Uses

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/ce/api/discussions.html#add-note-to-existing-commit-thread

type AddDeployKeyOptions Uses

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

AddDeployKeyOptions represents the available ADDDeployKey() options.

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

type AddEmailOptions Uses

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

AddEmailOptions represents the available AddEmail() options.

GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#add-email

type AddEpicDiscussionNoteOptions Uses

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/ce/api/discussions.html#add-note-to-existing-epic-thread

type AddGroupBadgeOptions Uses

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

AddGroupBadgeOptions represents the available AddGroupBadge() options.

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

type AddGroupClusterOptions Uses

type AddGroupClusterOptions 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 *AddGroupPlatformKubernetesOptions `url:"platform_kubernetes_attributes,omitempty" json:"platform_kubernetes_attributes,omitempty"`
}

AddGroupClusterOptions represents the available AddCluster() options.

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

type AddGroupMemberOptions Uses

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

AddGroupMemberOptions represents the available AddGroupMember() options.

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

type AddGroupPlatformKubernetesOptions Uses

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.

type AddHookOptions Uses

type AddHookOptions struct {
    URL *string `url:"url,omitempty" json:"url,omitempty"`
}

AddHookOptions represents the available AddHook() options.

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

type AddIssueDiscussionNoteOptions Uses

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/ce/api/discussions.html#add-note-to-existing-issue-thread

type AddLicenseOptions Uses

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

AddLicenseOptions represents the available AddLicense() options.

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

type AddMergeRequestDiscussionNoteOptions Uses

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/ce/api/discussions.html#add-note-to-existing-merge-request-discussion

type AddPipelineTriggerOptions Uses

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

AddPipelineTriggerOptions represents the available AddPipelineTrigger() options.

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

type AddPlatformKubernetesOptions Uses

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.

type AddProjectBadgeOptions Uses

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

AddProjectBadgeOptions represents the available AddProjectBadge() options.

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

type AddProjectHookOptions Uses

type AddProjectHookOptions struct {
    URL                      *string `url:"url,omitempty" json:"url,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"`
    JobEvents                *bool   `url:"job_events,omitempty" json:"job_events,omitempty"`
    PipelineEvents           *bool   `url:"pipeline_events,omitempty" json:"pipeline_events,omitempty"`
    WikiPageEvents           *bool   `url:"wiki_page_events,omitempty" json:"wiki_page_events,omitempty"`
    EnableSSLVerification    *bool   `url:"enable_ssl_verification,omitempty" json:"enable_ssl_verification,omitempty"`
    Token                    *string `url:"token,omitempty" json:"token,omitempty"`
}

AddProjectHookOptions represents the available AddProjectHook() options.

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

type AddProjectMemberOptions Uses

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

AddProjectMemberOptions represents the available AddProjectMember() options.

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

type AddProjectPushRuleOptions Uses

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

AddProjectPushRuleOptions represents the available AddProjectPushRule() options.

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

type AddSSHKeyOptions Uses

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

AddSSHKeyOptions represents the available AddSSHKey() options.

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

type AddSnippetDiscussionNoteOptions Uses

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/ce/api/discussions.html#add-note-to-existing-snippet-thread

type AddSpentTimeOptions Uses

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

AddSpentTimeOptions represents the available AddSpentTime() options.

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

type ApproveAccessRequestOptions Uses

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/ce/api/access_requests.html#approve-an-access-request

type ApproveMergeRequestOptions Uses

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

ApproveMergeRequestOptions represents the available ApproveMergeRequest() options.

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

type ArchiveOptions Uses

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

ArchiveOptions represents the available Archive() options.

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

type Author Uses

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

Author represents a GitLab commit author

type AwardEmoji Uses

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

AwardEmoji represents a GitLab Award Emoji.

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

type AwardEmojiService Uses

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/ce/api/award_emoji.html

func (*AwardEmojiService) CreateIssueAwardEmoji Uses

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

CreateIssueAwardEmoji get an award emoji from issue.

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

func (*AwardEmojiService) CreateIssuesAwardEmojiOnNote Uses

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

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

GitLab API docs: https://docs.gitlab.com/ce/api/award_emoji.html#award-emoji-on-notes

func (*AwardEmojiService) CreateMergeRequestAwardEmoji Uses

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

CreateMergeRequestAwardEmoji get an award emoji from merge request.

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

func (*AwardEmojiService) CreateMergeRequestAwardEmojiOnNote Uses

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

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

GitLab API docs: https://docs.gitlab.com/ce/api/award_emoji.html#award-emoji-on-notes

func (*AwardEmojiService) CreateSnippetAwardEmoji Uses

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

CreateSnippetAwardEmoji get an award emoji from snippet.

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

func (*AwardEmojiService) CreateSnippetAwardEmojiOnNote Uses

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

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

GitLab API docs: https://docs.gitlab.com/ce/api/award_emoji.html#award-emoji-on-notes

func (*AwardEmojiService) DeleteIssueAwardEmoji Uses

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

DeleteIssueAwardEmoji delete award emoji on an issue.

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

func (*AwardEmojiService) DeleteIssuesAwardEmojiOnNote Uses

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

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

GitLab API docs: https://docs.gitlab.com/ce/api/award_emoji.html#award-emoji-on-notes

func (*AwardEmojiService) DeleteMergeRequestAwardEmoji Uses

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

DeleteMergeRequestAwardEmoji delete award emoji on a merge request.

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

func (*AwardEmojiService) DeleteMergeRequestAwardEmojiOnNote Uses

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

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

GitLab API docs: https://docs.gitlab.com/ce/api/award_emoji.html#award-emoji-on-notes

func (*AwardEmojiService) DeleteSnippetAwardEmoji Uses

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

DeleteSnippetAwardEmoji delete award emoji on a snippet.

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

func (*AwardEmojiService) DeleteSnippetAwardEmojiOnNote Uses

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

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

GitLab API docs: https://docs.gitlab.com/ce/api/award_emoji.html#award-emoji-on-notes

func (*AwardEmojiService) GetIssueAwardEmoji Uses

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

GetIssueAwardEmoji get an award emoji from issue.

GitLab API docs: https://docs.gitlab.com/ce/api/award_emoji.html#list-an-awardable-39-s-award-emoji

func (*AwardEmojiService) GetIssuesAwardEmojiOnNote Uses

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

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

GitLab API docs: https://docs.gitlab.com/ce/api/award_emoji.html#award-emoji-on-notes

func (*AwardEmojiService) GetMergeRequestAwardEmoji Uses

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

GetMergeRequestAwardEmoji get an award emoji from merge request.

GitLab API docs: https://docs.gitlab.com/ce/api/award_emoji.html#list-an-awardable-39-s-award-emoji

func (*AwardEmojiService) GetMergeRequestAwardEmojiOnNote Uses

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

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

GitLab API docs: https://docs.gitlab.com/ce/api/award_emoji.html#award-emoji-on-notes

func (*AwardEmojiService) GetSnippetAwardEmoji Uses

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

GetSnippetAwardEmoji get an award emoji from snippet.

GitLab API docs: https://docs.gitlab.com/ce/api/award_emoji.html#list-an-awardable-39-s-award-emoji

func (*AwardEmojiService) GetSnippetAwardEmojiOnNote Uses

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

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

GitLab API docs: https://docs.gitlab.com/ce/api/award_emoji.html#award-emoji-on-notes

func (*AwardEmojiService) ListIssueAwardEmoji Uses

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

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

GitLab API docs: https://docs.gitlab.com/ce/api/award_emoji.html#list-an-awardable-39-s-award-emoji

func (*AwardEmojiService) ListIssuesAwardEmojiOnNote Uses

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

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

GitLab API docs: https://docs.gitlab.com/ce/api/award_emoji.html#award-emoji-on-notes

func (*AwardEmojiService) ListMergeRequestAwardEmoji Uses

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

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

GitLab API docs: https://docs.gitlab.com/ce/api/award_emoji.html#list-an-awardable-39-s-award-emoji

func (*AwardEmojiService) ListMergeRequestAwardEmojiOnNote Uses

func (s *AwardEmojiService) ListMergeRequestAwardEmojiOnNote(pid interface{}, mergeRequestIID, noteID int, opt *ListAwardEmojiOptions, options ...OptionFunc) ([]*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/ce/api/award_emoji.html#award-emoji-on-notes

func (*AwardEmojiService) ListSnippetAwardEmoji Uses

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

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

GitLab API docs: https://docs.gitlab.com/ce/api/award_emoji.html#list-an-awardable-39-s-award-emoji

func (*AwardEmojiService) ListSnippetAwardEmojiOnNote Uses

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

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

GitLab API docs: https://docs.gitlab.com/ce/api/award_emoji.html#award-emoji-on-notes

type BadgeKind Uses

type BadgeKind string

BadgeKind represents a GitLab Badge Kind

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

all possible values Badge Kind

type BasicUser Uses

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

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

type Blob Uses

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

Blob represents a single blob.

type BoardList Uses

type BoardList struct {
    ID       int    `json:"id"`
    Label    *Label `json:"label"`
    Position int    `json:"position"`
}

BoardList represents a GitLab board list.

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

func (BoardList) String Uses

func (b BoardList) String() string

type BoolValue Uses

type BoolValue bool

BoolValue is a boolean value with advanced json unmarshaling features.

func (*BoolValue) UnmarshalJSON Uses

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

UnmarshalJSON allows 1 and 0 to be considered as boolean values Needed for https://gitlab.com/gitlab-org/gitlab-ce/issues/50122

type Branch Uses

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

Branch represents a GitLab branch.

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

func (Branch) String Uses

func (b Branch) String() string

type BranchAccessDescription Uses

type BranchAccessDescription struct {
    AccessLevel            AccessLevelValue `json:"access_level"`
    AccessLevelDescription string           `json:"access_level_description"`
}

BranchAccessDescription represents the access description for a protected branch.

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

type BranchesService Uses

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/ce/api/branches.html

func (*BranchesService) CreateBranch Uses

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

CreateBranch creates branch from commit SHA or existing branch.

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

func (*BranchesService) DeleteBranch Uses

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

DeleteBranch deletes an existing branch.

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

func (*BranchesService) DeleteMergedBranches Uses

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

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

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

func (*BranchesService) GetBranch Uses

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

GetBranch gets a single project repository branch.

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

func (*BranchesService) ListBranches Uses

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

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

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

func (*BranchesService) ProtectBranch Uses

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

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

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

func (*BranchesService) UnprotectBranch Uses

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

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

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

type BroadcastMessage Uses

type BroadcastMessage struct {
    Message  string     `json:"message"`
    StartsAt *time.Time `json:"starts_at"`
    EndsAt   *time.Time `json:"ends_at"`
    Color    string     `json:"color"`
    Font     string     `json:"font"`
    ID       int        `json:"id"`
    Active   bool       `json:"active"`
}

BroadcastMessage represents a GitLab issue board.

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

type BroadcastMessagesService Uses

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/ce/api/broadcast_messages.html

func (*BroadcastMessagesService) CreateBroadcastMessage Uses

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

CreateBroadcastMessage creates a message to broadcast.

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

func (*BroadcastMessagesService) DeleteBroadcastMessage Uses

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

DeleteBroadcastMessage deletes a broadcasted message.

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

func (*BroadcastMessagesService) GetBroadcastMessage Uses

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

GetBroadcastMessage gets a single broadcast message.

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

func (*BroadcastMessagesService) ListBroadcastMessages Uses

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

ListBroadcastMessages gets a list of all broadcasted messages.

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

func (*BroadcastMessagesService) UpdateBroadcastMessage Uses

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

UpdateBroadcastMessage update a broadcasted message.

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

type BuildEvent Uses

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

BuildEvent represents a build event

GitLab API docs: https://docs.gitlab.com/ce/user/project/integrations/webhooks.html#build-events

type BuildStateValue Uses

type BuildStateValue string

BuildStateValue represents a GitLab build state.

const (
    Pending  BuildStateValue = "pending"
    Running  BuildStateValue = "running"
    Success  BuildStateValue = "success"
    Failed   BuildStateValue = "failed"
    Canceled BuildStateValue = "canceled"
    Skipped  BuildStateValue = "skipped"
    Manual   BuildStateValue = "manual"
)

These constants represent all valid build states.

func BuildState Uses

func BuildState(v BuildStateValue) *BuildStateValue

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

type CIYMLTemplate Uses

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

CIYMLTemplate represents a GitLab CI YML template.

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

type CIYMLTemplatesService Uses

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/ce/api/templates/gitlab_ci_ymls.html

func (*CIYMLTemplatesService) GetTemplate Uses

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

GetTemplate get a single GitLab CI YML template.

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

func (*CIYMLTemplatesService) ListAllTemplates Uses

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

ListAllTemplates get all GitLab CI YML templates.

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

type ChangeAllowedApproversOptions Uses

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

ChangeAllowedApproversOptions represents the available ChangeAllowedApprovers() options.

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

type ChangeApprovalConfigurationOptions Uses

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

ChangeApprovalConfigurationOptions represents the available ApprovalConfiguration() options.

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

type ChangeMergeRequestAllowedApproversOptions Uses

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

ChangeMergeRequestAllowedApproversOptions represents the available ChangeMergeRequestAllowedApprovers() options.

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

type ChangeMergeRequestApprovalConfigurationOptions Uses

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

ChangeMergeRequestApprovalConfigurationOptions represents the available ChangeMergeRequestApprovalConfiguration() options.

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

type CherryPickCommitOptions Uses

type CherryPickCommitOptions struct {
    Branch *string `url:"branch,omitempty" json:"branch,omitempty"`
}

CherryPickCommitOptions represents the available CherryPickCommit() options.

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

type Client Uses

type Client struct {

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

    // Services used for talking to different parts of the GitLab API.
    AccessRequests        *AccessRequestsService
    AwardEmoji            *AwardEmojiService
    Boards                *IssueBoardsService
    Branches              *BranchesService
    BroadcastMessage      *BroadcastMessagesService
    CIYMLTemplate         *CIYMLTemplatesService
    Commits               *CommitsService
    ContainerRegistry     *ContainerRegistryService
    CustomAttribute       *CustomAttributesService
    DeployKeys            *DeployKeysService
    Deployments           *DeploymentsService
    Discussions           *DiscussionsService
    Environments          *EnvironmentsService
    Epics                 *EpicsService
    Events                *EventsService
    Features              *FeaturesService
    GitIgnoreTemplates    *GitIgnoreTemplatesService
    GroupBadges           *GroupBadgesService
    GroupCluster          *GroupClustersService
    GroupIssueBoards      *GroupIssueBoardsService
    GroupLabels           *GroupLabelsService
    GroupMembers          *GroupMembersService
    GroupMilestones       *GroupMilestonesService
    GroupVariables        *GroupVariablesService
    Groups                *GroupsService
    IssueLinks            *IssueLinksService
    Issues                *IssuesService
    Jobs                  *JobsService
    Keys                  *KeysService
    Labels                *LabelsService
    License               *LicenseService
    LicenseTemplates      *LicenseTemplatesService
    MergeRequestApprovals *MergeRequestApprovalsService
    MergeRequests         *MergeRequestsService
    Milestones            *MilestonesService
    Namespaces            *NamespacesService
    Notes                 *NotesService
    NotificationSettings  *NotificationSettingsService
    PagesDomains          *PagesDomainsService
    PipelineSchedules     *PipelineSchedulesService
    PipelineTriggers      *PipelineTriggersService
    Pipelines             *PipelinesService
    ProjectBadges         *ProjectBadgesService
    ProjectCluster        *ProjectClustersService
    ProjectImportExport   *ProjectImportExportService
    ProjectMembers        *ProjectMembersService
    ProjectSnippets       *ProjectSnippetsService
    ProjectVariables      *ProjectVariablesService
    Projects              *ProjectsService
    ProtectedBranches     *ProtectedBranchesService
    ProtectedTags         *ProtectedTagsService
    ReleaseLinks          *ReleaseLinksService
    Releases              *ReleasesService
    Repositories          *RepositoriesService
    RepositoryFiles       *RepositoryFilesService
    ResourceLabelEvents   *ResourceLabelEventsService
    Runners               *RunnersService
    Search                *SearchService
    Services              *ServicesService
    Settings              *SettingsService
    Sidekiq               *SidekiqService
    Snippets              *SnippetsService
    SystemHooks           *SystemHooksService
    Tags                  *TagsService
    Todos                 *TodosService
    Users                 *UsersService
    Validate              *ValidateService
    Version               *VersionService
    Wikis                 *WikisService
    // contains filtered or unexported fields
}

A Client manages communication with the GitLab API.

func NewBasicAuthClient Uses

func NewBasicAuthClient(httpClient *http.Client, endpoint, username, password string) (*Client, error)

NewBasicAuthClient returns a new GitLab API client. If a nil httpClient is provided, http.DefaultClient will be used. To use API methods which require authentication, provide a valid username and password.

func NewClient Uses

func NewClient(httpClient *http.Client, token string) *Client

NewClient returns a new GitLab API client. If a nil httpClient is provided, http.DefaultClient will be used. To use API methods which require authentication, provide a valid private or personal token.

func NewOAuthClient Uses

func NewOAuthClient(httpClient *http.Client, token string) *Client

NewOAuthClient returns a new GitLab API client. If a nil httpClient is provided, http.DefaultClient will be used. To use API methods which require authentication, provide a valid oauth token.

func (*Client) BaseURL Uses

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

BaseURL return a copy of the baseURL.

func (*Client) Do Uses

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

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

func (*Client) NewRequest Uses

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

NewRequest creates an API request. A relative URL path can be provided in urlStr, in which case it is 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) SetBaseURL Uses

func (c *Client) SetBaseURL(urlStr string) error

SetBaseURL sets the base URL for API requests to a custom endpoint. urlStr should always be specified with a trailing slash.

type Commit Uses

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

Commit represents a GitLab commit.

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

func (Commit) String Uses

func (c Commit) String() string

type CommitAction Uses

type CommitAction struct {
    Action       FileAction `url:"action" json:"action"`
    FilePath     string     `url:"file_path" json:"file_path"`
    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"`
}

CommitAction represents a single file action within a commit.

type CommitComment Uses

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

CommitComment represents a GitLab commit comment.

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

func (CommitComment) String Uses

func (c CommitComment) String() string

type CommitCommentEvent Uses

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

CommitCommentEvent represents a comment on a commit event.

GitLab API docs: https://docs.gitlab.com/ce/user/project/integrations/webhooks.html#comment-on-commit

type CommitRef Uses

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

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

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

type CommitStats Uses

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

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

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

type CommitStatus Uses

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

CommitStatus represents a GitLab commit status.

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

type CommitsService Uses

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/ce/api/commits.html

func (*CommitsService) CherryPickCommit Uses

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

CherryPickCommit cherry picks a commit to a given branch.

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

func (*CommitsService) CreateCommit Uses

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

CreateCommit creates a commit with multiple files and actions.

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

func (*CommitsService) GetCommit Uses

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

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

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

func (*CommitsService) GetCommitComments Uses

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

GetCommitComments gets the comments of a commit in a project.

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

func (*CommitsService) GetCommitDiff Uses

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

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

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

func (*CommitsService) GetCommitRefs Uses

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

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

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

func (*CommitsService) GetCommitStatuses Uses

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

GetCommitStatuses gets the statuses of a commit in a project.

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

func (*CommitsService) GetGPGSiganature Uses

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

GetGPGSiganature gets a GPG signature of a commit.

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

func (*CommitsService) GetMergeRequestsByCommit Uses

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

GetMergeRequestsByCommit gets merge request associated with a commit.

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

func (*CommitsService) ListCommits Uses

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

ListCommits gets a list of repository commits in a project.

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

func (*CommitsService) PostCommitComment Uses

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

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

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

func (*CommitsService) RevertCommit Uses

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

RevertCommit reverts a commit in a given branch.

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

func (*CommitsService) SetCommitStatus Uses

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

SetCommitStatus sets the status of a commit in a project.

GitLab API docs: https://docs.gitlab.com/ce/api/commits.html#post-the-status-to-commit

type Compare Uses

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"`
}

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

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

func (Compare) String Uses

func (c Compare) String() string

type CompareOptions Uses

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"`
}

CompareOptions represents the available Compare() options.

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

type CompoundMetrics Uses

type CompoundMetrics struct {
    QueueMetrics
    ProcessMetrics
    JobStats
}

CompoundMetrics represents the GitLab sidekiq compounded stats.

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

type ContainerRegistryService Uses

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/ee/api/container_registry.html

func (*ContainerRegistryService) DeleteRegistryRepository Uses

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

DeleteRegistryRepository deletes a repository in a registry.

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

func (*ContainerRegistryService) DeleteRegistryRepositoryTag Uses

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

DeleteRegistryRepositoryTag deletes a registry repository tag.

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

func (*ContainerRegistryService) DeleteRegistryRepositoryTags Uses

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

DeleteRegistryRepositoryTags deletes repository tags in bulk based on given criteria.

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

func (*ContainerRegistryService) GetRegistryRepositoryTagDetail Uses

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

GetRegistryRepositoryTagDetail get details of a registry repository tag

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

func (*ContainerRegistryService) ListRegistryRepositories Uses

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

ListRegistryRepositories gets a list of registry repositories in a project.

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

func (*ContainerRegistryService) ListRegistryRepositoryTags Uses

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

ListRegistryRepositoryTags gets a list of tags for given registry repository.

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

type ContributionEvent Uses

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

ContributionEvent represents a user's contribution

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

type Contributor Uses

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

Contributor represents a GitLap contributor.

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

func (Contributor) String Uses

func (c Contributor) String() string

type CreateAwardEmojiOptions Uses

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/ce/api/award_emoji.html#award-a-new-emoji

type CreateBranchOptions Uses

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/ce/api/branches.html#create-repository-branch

type CreateBroadcastMessageOptions Uses

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"`
    Color    *string    `url:"color,omitempty" json:"color,omitempty"`
    Font     *string    `url:"font,omitempty" json:"font,omitempty"`
}

CreateBroadcastMessageOptions represents the available CreateBroadcastMessage() options.

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

type CreateCommitDiscussionOptions Uses

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/ce/api/discussions.html#create-new-commit-thread

type CreateCommitOptions Uses

type CreateCommitOptions struct {
    Branch        *string         `url:"branch" json:"branch"`
    CommitMessage *string         `url:"commit_message" json:"commit_message"`
    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       []*CommitAction `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/ce/api/commits.html#create-a-commit-with-multiple-files-and-actions

type CreateEnvironmentOptions Uses

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

CreateEnvironmentOptions represents the available CreateEnvironment() options.

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

type CreateEpicDiscussionOptions Uses

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/ce/api/discussions.html#add-note-to-existing-epic-thread

type CreateEpicNoteOptions Uses

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

CreateEpicNoteOptions represents the available CreateEpicNote() options.

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

type CreateEpicOptions Uses

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

CreateEpicOptions represents the available CreateEpic() options.

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

type CreateFileOptions Uses

type CreateFileOptions struct {
    Branch        *string `url:"branch,omitempty" json:"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"`
}

CreateFileOptions represents the available CreateFile() options.

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

type CreateGroupIssueBoardListOptions Uses

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

CreateGroupIssueBoardListOptions represents the available CreateGroupIssueBoardList() options.

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

type CreateGroupLabelOptions Uses

type CreateGroupLabelOptions CreateLabelOptions

CreateGroupLabelOptions represents the available CreateGroupLabel() options.

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

type CreateGroupMilestoneOptions Uses

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/ce/api/group_milestones.html#create-new-milestone

type CreateGroupOptions Uses

type CreateGroupOptions struct {
    Name                 *string          `url:"name,omitempty" json:"name,omitempty"`
    Path                 *string          `url:"path,omitempty" json:"path,omitempty"`
    Description          *string          `url:"description,omitempty" json:"description,omitempty"`
    Visibility           *VisibilityValue `url:"visibility,omitempty" json:"visibility,omitempty"`
    LFSEnabled           *bool            `url:"lfs_enabled,omitempty" json:"lfs_enabled,omitempty"`
    RequestAccessEnabled *bool            `url:"request_access_enabled,omitempty" json:"request_access_enabled,omitempty"`
    ParentID             *int             `url:"parent_id,omitempty" json:"parent_id,omitempty"`
}

CreateGroupOptions represents the available CreateGroup() options.

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

type CreateGroupVariableOptions Uses

type CreateGroupVariableOptions 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"`
    Protected    *bool              `url:"protected,omitempty" json:"protected,omitempty"`
}

CreateGroupVariableOptions represents the available CreateVariable() options.

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

type CreateImpersonationTokenOptions Uses

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

CreateImpersonationTokenOptions represents the available CreateImpersonationToken() options.

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

type CreateIssueBoardListOptions Uses

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

CreateIssueBoardListOptions represents the available CreateIssueBoardList() options.

GitLab API docs: https://docs.gitlab.com/ce/api/boards.html#new-board-list

type CreateIssueBoardOptions Uses

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

CreateIssueBoardOptions represents the available CreateIssueBoard() options.

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

type CreateIssueDiscussionOptions Uses

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/ce/api/discussions.html#create-new-issue-thread

type CreateIssueLinkOptions Uses

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

CreateIssueLinkOptions represents the available CreateIssueLink() options.

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

type CreateIssueNoteOptions Uses

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

CreateIssueNoteOptions represents the available CreateIssueNote() options.

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

type CreateIssueOptions Uses

type CreateIssueOptions struct {
    IID                                *int       `url:"iid,omitempty" json:"iid,omitempty"`
    Title                              *string    `url:"title,omitempty" json:"title,omitempty"`
    Description                        *string    `url:"description,omitempty" json:"description,omitempty"`
    Confidential                       *bool      `url:"confidential,omitempty" json:"confidential,omitempty"`
    AssigneeIDs                        []int      `url:"assignee_ids,omitempty" json:"assignee_ids,omitempty"`
    MilestoneID                        *int       `url:"milestone_id,omitempty" json:"milestone_id,omitempty"`
    Labels                             *Labels    `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"`
    MergeRequestToResolveDiscussionsOf *int       `url:"merge_request_to_resolve_discussions_of,omitempty" json:"merge_request_to_resolve_discussions_of,omitempty"`
    DiscussionToResolve                *string    `url:"discussion_to_resolve,omitempty" json:"discussion_to_resolve,omitempty"`
    Weight                             *int       `url:"weight,omitempty" json:"weight,omitempty"`
}

CreateIssueOptions represents the available CreateIssue() options.

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

type CreateLabelOptions Uses

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"`
}

CreateLabelOptions represents the available CreateLabel() options.

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

type CreateMergeRequestDiscussionOptions Uses

type CreateMergeRequestDiscussionOptions 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"`
}

CreateMergeRequestDiscussionOptions represents the available CreateMergeRequestDiscussion() options.

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

type CreateMergeRequestNoteOptions Uses

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

CreateMergeRequestNoteOptions represents the available CreateMergeRequestNote() options.

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

type CreateMergeRequestOptions Uses

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             *Labels `url:"labels,comma,omitempty" json:"labels,omitempty"`
    AssigneeID         *int    `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
    AssigneeIDs        []int   `url:"assignee_ids,omitempty" json:"assignee_ids,omitempty"`
    TargetProjectID    *int    `url:"target_project_id,omitempty" json:"target_project_id,omitempty"`
    MilestoneID        *int    `url:"milestone_id,omitempty" json:"milestone_id,omitempty"`
    RemoveSourceBranch *bool   `url:"remove_source_branch,omitempty" json:"remove_source_branch,omitempty"`
    Squash             *bool   `url:"squash,omitempty" json:"squash,omitempty"`
    AllowCollaboration *bool   `url:"allow_collaboration,omitempty" json:"allow_collaboration,omitempty"`
}

CreateMergeRequestOptions represents the available CreateMergeRequest() options.

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

type CreateMilestoneOptions Uses

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/ce/api/milestones.html#create-new-milestone

type CreatePagesDomainOptions Uses

type CreatePagesDomainOptions struct {
    Domain      *string `url:"domain,omitempty" json:"domain,omitempty"`
    Certificate *string `url:"certifiate,omitempty" json:"certifiate,omitempty"`
    Key         *string `url:"key,omitempty" json:"key,omitempty"`
}

CreatePagesDomainOptions represents the available CreatePagesDomain() options.

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

type CreatePipelineOptions Uses

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

CreatePipelineOptions represents the available CreatePipeline() options.

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

type CreatePipelineScheduleOptions Uses

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"`
}

CreatePipelineScheduleOptions represents the available CreatePipelineSchedule() options.

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

type CreatePipelineScheduleVariableOptions Uses

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

CreatePipelineScheduleVariableOptions represents the available CreatePipelineScheduleVariable() options.

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

type CreateProjectForUserOptions Uses

type CreateProjectForUserOptions CreateProjectOptions

CreateProjectForUserOptions represents the available CreateProjectForUser() options.

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

type CreateProjectLevelRuleOptions Uses

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

CreateProjectLevelRuleOptions represents the available CreateProjectApprovalRule() options.

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

type CreateProjectOptions Uses

type CreateProjectOptions struct {
    Name                                      *string           `url:"name,omitempty" json:"name,omitempty"`
    Path                                      *string           `url:"path,omitempty" json:"path,omitempty"`
    DefaultBranch                             *string           `url:"default_branch,omitempty" json:"default_branch,omitempty"`
    NamespaceID                               *int              `url:"namespace_id,omitempty" json:"namespace_id,omitempty"`
    Description                               *string           `url:"description,omitempty" json:"description,omitempty"`
    IssuesEnabled                             *bool             `url:"issues_enabled,omitempty" json:"issues_enabled,omitempty"`
    MergeRequestsEnabled                      *bool             `url:"merge_requests_enabled,omitempty" json:"merge_requests_enabled,omitempty"`
    JobsEnabled                               *bool             `url:"jobs_enabled,omitempty" json:"jobs_enabled,omitempty"`
    WikiEnabled                               *bool             `url:"wiki_enabled,omitempty" json:"wiki_enabled,omitempty"`
    SnippetsEnabled                           *bool             `url:"snippets_enabled,omitempty" json:"snippets_enabled,omitempty"`
    ResolveOutdatedDiffDiscussions            *bool             `url:"resolve_outdated_diff_discussions,omitempty" json:"resolve_outdated_diff_discussions,omitempty"`
    ContainerRegistryEnabled                  *bool             `url:"container_registry_enabled,omitempty" json:"container_registry_enabled,omitempty"`
    SharedRunnersEnabled                      *bool             `url:"shared_runners_enabled,omitempty" json:"shared_runners_enabled,omitempty"`
    Visibility                                *VisibilityValue  `url:"visibility,omitempty" json:"visibility,omitempty"`
    ImportURL                                 *string           `url:"import_url,omitempty" json:"import_url,omitempty"`
    PublicBuilds                              *bool             `url:"public_builds,omitempty" json:"public_builds,omitempty"`
    OnlyAllowMergeIfPipelineSucceeds          *bool             `url:"only_allow_merge_if_pipeline_succeeds,omitempty" json:"only_allow_merge_if_pipeline_succeeds,omitempty"`
    OnlyAllowMergeIfAllDiscussionsAreResolved *bool             `url:"only_allow_merge_if_all_discussions_are_resolved,omitempty" json:"only_allow_merge_if_all_discussions_are_resolved,omitempty"`
    MergeMethod                               *MergeMethodValue `url:"merge_method,omitempty" json:"merge_method,omitempty"`
    LFSEnabled                                *bool             `url:"lfs_enabled,omitempty" json:"lfs_enabled,omitempty"`
    RequestAccessEnabled                      *bool             `url:"request_access_enabled,omitempty" json:"request_access_enabled,omitempty"`
    TagList                                   *[]string         `url:"tag_list,omitempty" json:"tag_list,omitempty"`
    PrintingMergeRequestLinkEnabled           *bool             `url:"printing_merge_request_link_enabled,omitempty" json:"printing_merge_request_link_enabled,omitempty"`
    CIConfigPath                              *string           `url:"ci_config_path,omitempty" json:"ci_config_path,omitempty"`
    ApprovalsBeforeMerge                      *int              `url:"approvals_before_merge,omitempty" json:"approvals_before_merge,omitempty"`
    Mirror                                    *bool             `url:"mirror,omitempty" json:"mirror,omitempty"`
    MirrorTriggerBuilds                       *bool             `url:"mirror_trigger_builds,omitempty" json:"mirror_trigger_builds,omitempty"`
    InitializeWithReadme                      *bool             `url:"initialize_with_readme,omitempty" json:"initialize_with_readme,omitempty"`
    TemplateName                              *string           `url:"template_name,omitempty" json:"template_name,omitempty"`
    UseCustomTemplate                         *bool             `url:"use_custom_template,omitempty" json:"use_custom_template,omitempty"`
    GroupWithProjectTemplatesID               *int              `url:"group_with_project_templates_id,omitempty" json:"group_with_project_templates_id,omitempty"`
}

CreateProjectOptions represents the available CreateProject() options.

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

type CreateProjectSnippetOptions Uses

type CreateProjectSnippetOptions struct {
    Title       *string          `url:"title,omitempty" json:"title,omitempty"`
    FileName    *string          `url:"file_name,omitempty" json:"file_name,omitempty"`
    Description *string          `url:"description,omitempty" json:"description,omitempty"`
    Code        *string          `url:"code,omitempty" json:"code,omitempty"`
    Visibility  *VisibilityValue `url:"visibility,omitempty" json:"visibility,omitempty"`
}

CreateProjectSnippetOptions represents the available CreateSnippet() options.

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

type CreateProjectVariableOptions Uses

type CreateProjectVariableOptions 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"`
    Protected        *bool              `url:"protected,omitempty" json:"protected,omitempty"`
    Masked           *bool              `url:"masked,omitempty" json:"masked,omitempty"`
    EnvironmentScope *string            `url:"environment_scope,omitempty" json:"environment_scope,omitempty"`
}

CreateProjectVariableOptions represents the available CreateVariable() options.

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

type CreateReleaseLinkOptions Uses

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

CreateReleaseLinkOptions represents CreateReleaseLink() options.

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

type CreateReleaseNoteOptions Uses

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

CreateReleaseNoteOptions represents the available CreateReleaseNote() options.

Deprecated: This feature was deprecated in GitLab 11.7.

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

type CreateReleaseOptions Uses

type CreateReleaseOptions struct {
    Name        *string        `url:"name" json:"name"`
    TagName     *string        `url:"tag_name" json:"tag_name"`
    Description *string        `url:"description" json:"description"`
    Ref         *string        `url:"ref,omitempty" json:"ref,omitempty"`
    Assets      *ReleaseAssets `url:"assets,omitempty" json:"assets,omitempty"`
}

CreateReleaseOptions represents CreateRelease() options.

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

type CreateSnippetDiscussionOptions Uses

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/ce/api/discussions.html#create-new-snippet-thread

type CreateSnippetNoteOptions Uses

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

CreateSnippetNoteOptions represents the available CreateSnippetNote() options.

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

type CreateSnippetOptions Uses

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"`
}

CreateSnippetOptions represents the available CreateSnippet() options.

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

type CreateTagOptions Uses

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"`
    // ReleaseDescription parameter was deprecated in GitLab 11.7
    ReleaseDescription *string `url:"release_description:omitempty" json:"release_description,omitempty"`
}

CreateTagOptions represents the available CreateTag() options.

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

type CreateUserOptions Uses

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

CreateUserOptions represents the available CreateUser() options.

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

type CreateWikiPageOptions Uses

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

CreateWikiPageOptions represents options to CreateWikiPage.

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

type CustomAttribute Uses

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

CustomAttribute struct is used to unmarshal response to api calls.

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

type CustomAttributesService Uses

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/ce/api/custom_attributes.html

func (*CustomAttributesService) DeleteCustomGroupAttribute Uses

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

DeleteCustomGroupAttribute removes the custom attribute of the specified group.

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

func (*CustomAttributesService) DeleteCustomProjectAttribute Uses

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

DeleteCustomProjectAttribute removes the custom attribute of the specified project.

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

func (*CustomAttributesService) DeleteCustomUserAttribute Uses

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

DeleteCustomUserAttribute removes the custom attribute of the specified user.

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

func (*CustomAttributesService) GetCustomGroupAttribute Uses

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

GetCustomGroupAttribute returns the group attribute with a speciifc key.

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

func (*CustomAttributesService) GetCustomProjectAttribute Uses

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

GetCustomProjectAttribute returns the project attribute with a speciifc key.

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

func (*CustomAttributesService) GetCustomUserAttribute Uses

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

GetCustomUserAttribute returns the user attribute with a speciifc key.

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

func (*CustomAttributesService) ListCustomGroupAttributes Uses

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

ListCustomGroupAttributes lists the custom attributes of the specified group.

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

func (*CustomAttributesService) ListCustomProjectAttributes Uses

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

ListCustomProjectAttributes lists the custom attributes of the specified project.

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

func (*CustomAttributesService) ListCustomUserAttributes Uses

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

ListCustomUserAttributes lists the custom attributes of the specified user.

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

func (*CustomAttributesService) SetCustomGroupAttribute Uses

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

SetCustomGroupAttribute sets the custom attributes of the specified group.

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

func (*CustomAttributesService) SetCustomProjectAttribute Uses

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

SetCustomProjectAttribute sets the custom attributes of the specified project.

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

func (*CustomAttributesService) SetCustomUserAttribute Uses

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

SetCustomUserAttribute sets the custom attributes of the specified user.

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

type DeleteFileOptions Uses

type DeleteFileOptions struct {
    Branch        *string `url:"branch,omitempty" json:"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"`
}

DeleteFileOptions represents the available DeleteFile() options.

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

type DeleteGroupLabelOptions Uses

type DeleteGroupLabelOptions DeleteLabelOptions

DeleteGroupLabelOptions represents the available DeleteGroupLabel() options.

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

type DeleteLabelOptions Uses

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

DeleteLabelOptions represents the available DeleteLabel() options.

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

type DeleteRegisteredRunnerOptions Uses

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

DeleteRegisteredRunnerOptions represents the available DeleteRegisteredRunner() options.

GitLab API docs: https://docs.gitlab.com/ce/api/runners.html#delete-a-registered-runner

type DeleteRegistryRepositoryTagsOptions Uses

type DeleteRegistryRepositoryTagsOptions struct {
    NameRegexp *string `url:"name_regex,omitempty" json:"name_regex,omitempty"`
    KeepN      *int    `url:"keep_n,omitempty" json:"keep_n,omitempty"`
    OlderThan  *string `url:"older_than,omitempty" json:"older_than,omitempty"`
}

DeleteRegistryRepositoryTagsOptions represents the available DeleteRegistryRepositoryTags() options.

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

type DeployKey Uses

type DeployKey struct {
    ID        int        `json:"id"`
    Title     string     `json:"title"`
    Key       string     `json:"key"`
    CanPush   *bool      `json:"can_push"`
    CreatedAt *time.Time `json:"created_at"`
}

DeployKey represents a GitLab deploy key.

func (DeployKey) String Uses

func (k DeployKey) String() string

type DeployKeysService Uses

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/ce/api/deploy_keys.html

func (*DeployKeysService) AddDeployKey Uses

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

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

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

func (*DeployKeysService) DeleteDeployKey Uses

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

DeleteDeployKey deletes a deploy key from a project.

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

func (*DeployKeysService) EnableDeployKey Uses

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

EnableDeployKey enables a deploy key.

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

func (*DeployKeysService) GetDeployKey Uses

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

GetDeployKey gets a single deploy key.

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

func (*DeployKeysService) ListAllDeployKeys Uses

func (s *DeployKeysService) ListAllDeployKeys(options ...OptionFunc) ([]*DeployKey, *Response, error)

ListAllDeployKeys gets a list of all deploy keys

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

func (*DeployKeysService) ListProjectDeployKeys Uses

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

ListProjectDeployKeys gets a list of a project's deploy keys

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

type Deployment Uses

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

Deployment represents the Gitlab deployment

type DeploymentsService Uses

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/ce/api/deployments.html

func (*DeploymentsService) GetProjectDeployment Uses

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

GetProjectDeployment get a deployment for a project.

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

func (*DeploymentsService) ListProjectDeployments Uses

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

ListProjectDeployments gets a list of deployments in a project.

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

type DetailedStatus Uses

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

DetailedStatus contains detailed information about the status of a pipeline

type Diff Uses

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/ce/api/commits.html

func (Diff) String Uses

func (d Diff) String() string

type Discussion Uses

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/ce/api/discussions.html

func (Discussion) String Uses

func (d Discussion) String() string

type DiscussionsService Uses

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/ce/api/discussions.html

func (*DiscussionsService) AddCommitDiscussionNote Uses

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

AddCommitDiscussionNote creates a new discussion to a single project commit.

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

func (*DiscussionsService) AddEpicDiscussionNote Uses

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

AddEpicDiscussionNote creates a new discussion to a single project epic.

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

func (*DiscussionsService) AddIssueDiscussionNote Uses

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

AddIssueDiscussionNote creates a new discussion to a single project issue.

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

func (*DiscussionsService) AddMergeRequestDiscussionNote Uses

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

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

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

func (*DiscussionsService) AddSnippetDiscussionNote Uses

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

AddSnippetDiscussionNote creates a new discussion to a single project snippet.

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

func (*DiscussionsService) CreateCommitDiscussion Uses

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

CreateCommitDiscussion creates a new discussion to a single project commit.

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

func (*DiscussionsService) CreateEpicDiscussion Uses

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

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

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

func (*DiscussionsService) CreateIssueDiscussion Uses

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

CreateIssueDiscussion creates a new discussion to a single project issue.

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

func (*DiscussionsService) CreateMergeRequestDiscussion Uses

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

CreateMergeRequestDiscussion creates a new discussion for a single merge request.

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

func (*DiscussionsService) CreateSnippetDiscussion Uses

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

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

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

func (*DiscussionsService) DeleteCommitDiscussionNote Uses

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

DeleteCommitDiscussionNote deletes an existing discussion of an commit.

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

func (*DiscussionsService) DeleteEpicDiscussionNote Uses

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

DeleteEpicDiscussionNote deletes an existing discussion of a epic.

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

func (*DiscussionsService) DeleteIssueDiscussionNote Uses

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

DeleteIssueDiscussionNote deletes an existing discussion of an issue.

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

func (*DiscussionsService) DeleteMergeRequestDiscussionNote Uses

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

DeleteMergeRequestDiscussionNote deletes an existing discussion of a merge request.

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

func (*DiscussionsService) DeleteSnippetDiscussionNote Uses

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

DeleteSnippetDiscussionNote deletes an existing discussion of a snippet.

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

func (*DiscussionsService) GetCommitDiscussion Uses

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

GetCommitDiscussion returns a single discussion for a specific project commit.

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

func (*DiscussionsService) GetEpicDiscussion Uses

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

GetEpicDiscussion returns a single discussion for a given epic.

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

func (*DiscussionsService) GetIssueDiscussion Uses

func (s *DiscussionsService) GetIssueDiscussion(pid interface{}, issue int, discussion string, options ...OptionFunc) (*Discussion, *Response, error)

GetIssueDiscussion returns a single discussion for a specific project issue.

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

func (*DiscussionsService) GetMergeRequestDiscussion Uses

func (s *DiscussionsService) GetMergeRequestDiscussion(pid interface{}, mergeRequest int, discussion string, options ...OptionFunc) (*Discussion, *Response, error)

GetMergeRequestDiscussion returns a single discussion for a given merge request.

GitLab API docs: https://docs.gitlab.com/ce/api/discussions.html#get-single-merge-request-discussion-item

func (*DiscussionsService) GetSnippetDiscussion Uses

func (s *DiscussionsService) GetSnippetDiscussion(pid interface{}, snippet int, discussion string, options ...OptionFunc) (*Discussion, *Response, error)

GetSnippetDiscussion returns a single discussion for a given snippet.

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

func (*DiscussionsService) ListCommitDiscussions Uses

func (s *DiscussionsService) ListCommitDiscussions(pid interface{}, commit string, opt *ListCommitDiscussionsOptions, options ...OptionFunc) ([]*Discussion, *Response, error)

ListCommitDiscussions gets a list of all discussions for a single commit.

GitLab API docs: https://docs.gitlab.com/ce/api/discussions.html#list-project-commit-discussion-items

func (*DiscussionsService) ListGroupEpicDiscussions Uses

func (s *DiscussionsService) ListGroupEpicDiscussions(gid interface{}, epic int, opt *ListGroupEpicDiscussionsOptions, options ...OptionFunc) ([]*Discussion, *Response, error)

ListGroupEpicDiscussions gets a list of all discussions for a single epic. Epic discussions are comments users can post to a epic.

GitLab API docs: https://docs.gitlab.com/ce/api/discussions.html#list-group-epic-discussion-items

func (*DiscussionsService) ListIssueDiscussions Uses

func (s *DiscussionsService) ListIssueDiscussions(pid interface{}, issue int, opt *ListIssueDiscussionsOptions, options ...OptionFunc) ([]*Discussion, *Response, error)

ListIssueDiscussions gets a list of all discussions for a single issue.

GitLab API docs: https://docs.gitlab.com/ce/api/discussions.html#list-project-issue-discussion-items

func (*DiscussionsService) ListMergeRequestDiscussions Uses

func (s *DiscussionsService) ListMergeRequestDiscussions(pid interface{}, mergeRequest int, opt *ListMergeRequestDiscussionsOptions, options ...OptionFunc) ([]*Discussion, *Response, error)

ListMergeRequestDiscussions gets a list of all discussions for a single merge request.

GitLab API docs: https://docs.gitlab.com/ce/api/discussions.html#list-project-merge-request-discussion-items

func (*DiscussionsService) ListSnippetDiscussions Uses

func (s *DiscussionsService) ListSnippetDiscussions(pid interface{}, snippet int, opt *ListSnippetDiscussionsOptions, options ...OptionFunc) ([]*Discussion, *Response, error)

ListSnippetDiscussions gets a list of all discussions for a single snippet. Snippet discussions are comments users can post to a snippet.

GitLab API docs: https://docs.gitlab.com/ce/api/discussions.html#list-project-snippet-discussion-items

func (*DiscussionsService) ResolveMergeRequestDiscussion Uses

func (s *DiscussionsService) ResolveMergeRequestDiscussion(pid interface{}, mergeRequest int, discussion string, opt *ResolveMergeRequestDiscussionOptions, options ...OptionFunc) (*Discussion, *Response, error)

ResolveMergeRequestDiscussion resolves/unresolves whole discussion of a merge request.

GitLab API docs: https://docs.gitlab.com/ce/api/discussions.html#resolve-a-merge-request-thread

func (*DiscussionsService) UpdateCommitDiscussionNote Uses

func (s *DiscussionsService) UpdateCommitDiscussionNote(pid interface{}, commit string, discussion string, note int, opt *UpdateCommitDiscussionNoteOptions, options ...OptionFunc) (*Note, *Response, error)

UpdateCommitDiscussionNote modifies existing discussion of an commit.

GitLab API docs: https://docs.gitlab.com/ce/api/discussions.html#modify-an-existing-commit-thread-note

func (*DiscussionsService) UpdateEpicDiscussionNote Uses

func (s *DiscussionsService) UpdateEpicDiscussionNote(gid interface{}, epic int, discussion string, note int, opt *UpdateEpicDiscussionNoteOptions, options ...OptionFunc) (*Note, *Response, error)

UpdateEpicDiscussionNote modifies existing discussion of a epic.

GitLab API docs: https://docs.gitlab.com/ce/api/discussions.html#modify-existing-epic-thread-note

func (*DiscussionsService) UpdateIssueDiscussionNote Uses

func (s *DiscussionsService) UpdateIssueDiscussionNote(pid interface{}, issue int, discussion string, note int, opt *UpdateIssueDiscussionNoteOptions, options ...OptionFunc) (*Note, *Response, error)

UpdateIssueDiscussionNote modifies existing discussion of an issue.

GitLab API docs: https://docs.gitlab.com/ce/api/discussions.html#modify-existing-issue-thread-note

func (*DiscussionsService) UpdateMergeRequestDiscussionNote Uses

func (s *DiscussionsService) UpdateMergeRequestDiscussionNote(pid interface{}, mergeRequest int, discussion string, note int, opt *UpdateMergeRequestDiscussionNoteOptions, options ...OptionFunc) (*Note, *Response, error)

UpdateMergeRequestDiscussionNote modifies existing discussion of a merge request.

GitLab API docs: https://docs.gitlab.com/ce/api/discussions.html#modify-existing-merge-request-discussion-note

func (*DiscussionsService) UpdateSnippetDiscussionNote Uses

func (s *DiscussionsService) UpdateSnippetDiscussionNote(pid interface{}, snippet int, discussion string, note int, opt *UpdateSnippetDiscussionNoteOptions, options ...OptionFunc) (*Note, *Response, error)

UpdateSnippetDiscussionNote modifies existing discussion of a snippet.

GitLab API docs: https://docs.gitlab.com/ce/api/discussions.html#modify-existing-snippet-thread-note

type DownloadArtifactsFileOptions Uses

type DownloadArtifactsFileOptions struct {
    Job *string `url:"job" json:"job"`
}

DownloadArtifactsFileOptions represents the available DownloadArtifactsFile() options.

GitLab API docs: https://docs.gitlab.com/ce/api/jobs.html#download-the-artifacts-file

type DroneCIService Uses

type DroneCIService struct {
    Service
    Properties *DroneCIServiceProperties `json:"properties"`
}

DroneCIService represents Drone CI service settings.

GitLab API docs: https://docs.gitlab.com/ce/api/services.html#drone-ci

type DroneCIServiceProperties Uses

type DroneCIServiceProperties struct {
    Token                 string `json:"token"`
    DroneURL              string `json:"drone_url"`
    EnableSSLVerification bool   `json:"enable_ssl_verification"`
}

DroneCIServiceProperties represents Drone CI specific properties.

GitLab API docs: https://docs.gitlab.com/ce/api/services.html#drone-ci

type EditClusterOptions Uses

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"`
    PlatformKubernetes *EditPlatformKubernetesOptions `url:"platform_kubernetes_attributes,omitempty" json:"platform_kubernetes_attributes,omitempty"`
}

EditClusterOptions represents the available EditCluster() options.

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

type EditEnvironmentOptions Uses

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

EditEnvironmentOptions represents the available EditEnvironment() options.

GitLab API docs: https://docs.gitlab.com/ee/api/environments.html#edit-an-existing-environment

type EditGroupBadgeOptions Uses

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

EditGroupBadgeOptions represents the available EditGroupBadge() options.

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

type EditGroupClusterOptions Uses

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"`
}

EditGroupClusterOptions represents the available EditCluster() options.

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

type EditGroupMemberOptions Uses

type EditGroupMemberOptions struct {
    AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
    ExpiresAt   *string           `url:"expires_at,omitempty" json:"expires_at"`
}

EditGroupMemberOptions represents the available EditGroupMember() options.

GitLab API docs: https://docs.gitlab.com/ce/api/members.html#edit-a-member-of-a-group-or-project

type EditGroupPlatformKubernetesOptions Uses

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.

type EditPipelineScheduleOptions Uses

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"`
}

EditPipelineScheduleOptions represents the available EditPipelineSchedule() options.

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

type EditPipelineScheduleVariableOptions Uses

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

EditPipelineScheduleVariableOptions represents the available EditPipelineScheduleVariable() options.

GitLab API docs: https://docs.gitlab.com/ce/api/pipeline_schedules.html#edit-a-pipeline-schedule-variable

type EditPipelineTriggerOptions Uses

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

EditPipelineTriggerOptions represents the available EditPipelineTrigger() options.

GitLab API docs: https://docs.gitlab.com/ce/api/pipeline_triggers.html#update-a-project-trigger

type EditPlatformKubernetesOptions Uses

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.

type EditProjectBadgeOptions Uses

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

EditProjectBadgeOptions represents the available EditProjectBadge() options.

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

type EditProjectHookOptions Uses

type EditProjectHookOptions struct {
    URL                      *string `url:"url,omitempty" json:"url,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"`
    JobEvents                *bool   `url:"job_events,omitempty" json:"job_events,omitempty"`
    PipelineEvents           *bool   `url:"pipeline_events,omitempty" json:"pipeline_events,omitempty"`
    WikiPageEvents           *bool   `url:"wiki_page_events,omitempty" json:"wiki_page_events,omitempty"`
    EnableSSLVerification    *bool   `url:"enable_ssl_verification,omitempty" json:"enable_ssl_verification,omitempty"`
    Token                    *string `url:"token,omitempty" json:"token,omitempty"`
}

EditProjectHookOptions represents the available EditProjectHook() options.

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

type EditProjectMemberOptions Uses

type EditProjectMemberOptions struct {
    AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
    ExpiresAt   *string           `url:"expires_at,omitempty" json:"expires_at"`
}

EditProjectMemberOptions represents the available EditProjectMember() options.

GitLab API docs: https://docs.gitlab.com/ce/api/members.html#edit-a-member-of-a-group-or-project

type EditProjectOptions Uses

type EditProjectOptions struct {
    Name                                      *string           `url:"name,omitempty" json:"name,omitempty"`
    Path                                      *string           `url:"path,omitempty" json:"path,omitempty"`
    DefaultBranch                             *string           `url:"default_branch,omitempty" json:"default_branch,omitempty"`
    Description                               *string           `url:"description,omitempty" json:"description,omitempty"`
    IssuesEnabled                             *bool             `url:"issues_enabled,omitempty" json:"issues_enabled,omitempty"`
    MergeRequestsEnabled                      *bool             `url:"merge_requests_enabled,omitempty" json:"merge_requests_enabled,omitempty"`
    JobsEnabled                               *bool             `url:"jobs_enabled,omitempty" json:"jobs_enabled,omitempty"`
    WikiEnabled                               *bool             `url:"wiki_enabled,omitempty" json:"wiki_enabled,omitempty"`
    SnippetsEnabled                           *bool             `url:"snippets_enabled,omitempty" json:"snippets_enabled,omitempty"`
    ResolveOutdatedDiffDiscussions            *bool             `url:"resolve_outdated_diff_discussions,omitempty" json:"resolve_outdated_diff_discussions,omitempty"`
    ContainerRegistryEnabled                  *bool             `url:"container_registry_enabled,omitempty" json:"container_registry_enabled,omitempty"`
    SharedRunnersEnabled                      *bool             `url:"shared_runners_enabled,omitempty" json:"shared_runners_enabled,omitempty"`
    Visibility                                *VisibilityValue  `url:"visibility,omitempty" json:"visibility,omitempty"`
    ImportURL                                 *string           `url:"import_url,omitempty" json:"import_url,omitempty"`
    PublicBuilds                              *bool             `url:"public_builds,omitempty" json:"public_builds,omitempty"`
    OnlyAllowMergeIfPipelineSucceeds          *bool             `url:"only_allow_merge_if_pipeline_succeeds,omitempty" json:"only_allow_merge_if_pipeline_succeeds,omitempty"`
    OnlyAllowMergeIfAllDiscussionsAreResolved *bool             `url:"only_allow_merge_if_all_discussions_are_resolved,omitempty" json:"only_allow_merge_if_all_discussions_are_resolved,omitempty"`
    MergeMethod                               *MergeMethodValue `url:"merge_method,omitempty" json:"merge_method,omitempty"`
    LFSEnabled                                *bool             `url:"lfs_enabled,omitempty" json:"lfs_enabled,omitempty"`
    RequestAccessEnabled                      *bool             `url:"request_access_enabled,omitempty" json:"request_access_enabled,omitempty"`
    TagList                                   *[]string         `url:"tag_list,omitempty" json:"tag_list,omitempty"`
    CIConfigPath                              *string           `url:"ci_config_path,omitempty" json:"ci_config_path,omitempty"`
    ApprovalsBeforeMerge                      *int              `url:"approvals_before_merge,omitempty" json:"approvals_before_merge,omitempty"`
    ExternalAuthorizationClassificationLabel  *string           `url:"external_authorization_classification_label,omitempty" json:"external_authorization_classification_label,omitempty"`
    Mirror                                    *bool             `url:"mirror,omitempty" json:"mirror,omitempty"`
    MirrorTriggerBuilds                       *bool             `url:"mirror_trigger_builds,omitempty" json:"mirror_trigger_builds,omitempty"`
    MirrorUserID                              *int              `url:"mirror_user_id,omitempty" json:"mirror_user_id,omitempty"`
    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"`
    PackagesEnabled                           *bool             `url:"packages_enabled,omitempty" json:"packages_enabled,omitempty"`
}

EditProjectOptions represents the available EditProject() options.

GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#edit-project

type EditProjectPushRuleOptions Uses

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"`
    CommitMessageRegex *string `url:"commit_message_regex,omitempty" json:"commit_message_regex,omitempty"`
    FileNameRegex      *string `url:"file_name_regex,omitempty" json:"file_name_regex,omitempty"`
    DenyDeleteTag      *bool   `url:"deny_delete_tag,omitempty" json:"deny_delete_tag,omitempty"`
    MemberCheck        *bool   `url:"member_check,omitempty" json:"member_check,omitempty"`
    PreventSecrets     *bool   `url:"prevent_secrets,omitempty" json:"prevent_secrets,omitempty"`
    MaxFileSize        *int    `url:"max_file_size,omitempty" json:"max_file_size,omitempty"`
}

EditProjectPushRuleOptions represents the available EditProjectPushRule() options.

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

type EditWikiPageOptions Uses

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

EditWikiPageOptions represents options to EditWikiPage.

GitLab API docs: https://docs.gitlab.com/ce/api/wikis.html#edit-an-existing-wiki-page

type Email Uses

type Email struct {
    ID    int    `json:"id"`
    Email string `json:"email"`
}

Email represents an Email.

GitLab API docs: https://doc.gitlab.com/ce/api/users.html#list-emails

type EnableProjectRunnerOptions Uses

type EnableProjectRunnerOptions struct {
    RunnerID int `json:"runner_id"`
}

EnableProjectRunnerOptions represents the available EnableProjectRunner() options.

GitLab API docs: https://docs.gitlab.com/ce/api/runners.html#enable-a-runner-in-project

type Environment Uses

type Environment struct {
    ID             int         `json:"id"`
    Name           string      `json:"name"`
    Slug           string      `json:"slug"`
    State          string      `json:"state"`
    ExternalURL    string      `json:"external_url"`
    Project        *Project    `json:"project"`
    LastDeployment *Deployment `json:"last_deployment"`
}

Environment represents a GitLab environment.

GitLab API docs: https://docs.gitlab.com/ce/api/environments.html

func (Environment) String Uses

func (env Environment) String() string

type EnvironmentsService Uses

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/ce/api/environments.html

func (*EnvironmentsService) CreateEnvironment Uses

func (s *EnvironmentsService) CreateEnvironment(pid interface{}, opt *CreateEnvironmentOptions, options ...OptionFunc) (*Environment, *Response, error)

CreateEnvironment adds an environment to a project. This is an idempotent method and can be called multiple times with the same parameters. Createing an environment that is already a environment does not affect the existing environmentship.

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

func (*EnvironmentsService) DeleteEnvironment Uses

func (s *EnvironmentsService) DeleteEnvironment(pid interface{}, environment int, options ...OptionFunc) (*Response, error)

DeleteEnvironment removes an environment from a project team.

GitLab API docs: https://docs.gitlab.com/ce/api/environments.html#remove-a-environment-from-a-group-or-project

func (*EnvironmentsService) EditEnvironment Uses

func (s *EnvironmentsService) EditEnvironment(pid interface{}, environment int, opt *EditEnvironmentOptions, options ...OptionFunc) (*Environment, *Response, error)

EditEnvironment updates a project team environment to a specified access level..

GitLab API docs: https://docs.gitlab.com/ee/api/environments.html#edit-an-existing-environment

func (*EnvironmentsService) GetEnvironment Uses

func (s *EnvironmentsService) GetEnvironment(pid interface{}, environment int, options ...OptionFunc) (*Environment, *Response, error)

GetEnvironment gets a specific environment from a project.

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

func (*EnvironmentsService) ListEnvironments Uses

func (s *EnvironmentsService) ListEnvironments(pid interface{}, opts *ListEnvironmentsOptions, options ...OptionFunc) ([]*Environment, *Response, error)

ListEnvironments gets a list of environments from a project, sorted by name alphabetically.

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

func (*EnvironmentsService) StopEnvironment Uses

func (s *EnvironmentsService) StopEnvironment(pid interface{}, environmentID int, options ...OptionFunc) (*Response, error)

StopEnvironment stop an environment from a project team.

GitLab API docs: https://docs.gitlab.com/ce/api/environments.html#stop-an-environment

type Epic Uses

type Epic struct {
    ID                      int         `json:"id"`
    IID                     int         `json:"iid"`
    GroupID                 int         `json:"group_id"`
    Author                  *EpicAuthor `json:"author"`
    Description             string      `json:"description"`
    State                   string      `json:"state"`
    Upvotes                 int         `json:"upvotes"`
    Downvotes               int         `json:"downvotes"`
    Labels                  []string    `json:"labels"`
    Title                   string      `json:"title"`
    UpdatedAt               *time.Time  `json:"updated_at"`
    CreatedAt               *time.Time  `json:"created_at"`
    UserNotesCount          int         `json:"user_notes_count"`
    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"`
}

Epic represents a GitLab epic.

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

func (Epic) String Uses

func (e Epic) String() string

type EpicAuthor Uses

type EpicAuthor struct {
    ID        int    `json:"id"`
    State     string `json:"state"`
    WebURL    string `json:"web_url"`
    Name      string `json:"name"`
    AvatarURL string `json:"avatar_url"`
    Username  string `json:"username"`
}

EpicAuthor represents a author of the epic.

type EpicsService Uses

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

EpicsService handles communication with the epic related methods of the GitLab API.

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

func (*EpicsService) CreateEpic Uses

func (s *EpicsService) CreateEpic(gid interface{}, opt *CreateEpicOptions, options ...OptionFunc) (*Epic, *Response, error)

CreateEpic creates a new group epic.

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

func (*EpicsService) DeleteEpic Uses

func (s *EpicsService) DeleteEpic(gid interface{}, epic int, options ...OptionFunc) (*Response, error)

DeleteEpic deletes a single group epic.

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

func (*EpicsService) GetEpic Uses

func (s *EpicsService) GetEpic(gid interface{}, epic int, options ...OptionFunc) (*Epic, *Response, error)

GetEpic gets a single group epic.

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

func (*EpicsService) ListGroupEpics Uses

func (s *EpicsService) ListGroupEpics(gid interface{}, opt *ListGroupEpicsOptions, options ...OptionFunc) ([]*Epic, *Response, error)

ListGroupEpics gets a list of group epics. This function accepts pagination parameters page and per_page to return the list of group epics.

GitLab API docs: https://docs.gitlab.com/ee/api/epics.html#list-epics-for-a-group

func (*EpicsService) UpdateEpic Uses

func (s *EpicsService) UpdateEpic(gid interface{}, epic int, opt *UpdateEpicOptions, options ...OptionFunc) (*Epic, *Response, error)

UpdateEpic updates an existing group epic. This function is also used to mark an epic as closed.

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

type ErrorResponse Uses

type ErrorResponse struct {
    Body     []byte
    Response *http.Response
    Message  string
}

An ErrorResponse reports one or more errors caused by an API request.

GitLab API docs: https://docs.gitlab.com/ce/api/README.html#data-validation-and-error-reporting

func (*ErrorResponse) Error Uses

func (e *ErrorResponse) Error() string

type EventTargetTypeValue Uses

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/ce/api/events.html#target-types

type EventType Uses

type EventType string

EventType represents a Gitlab event type.

const (
    EventTypeBuild        EventType = "Build Hook"
    EventTypeIssue        EventType = "Issue Hook"
    EventTypeJob          EventType = "Job Hook"
    EventTypeMergeRequest EventType = "Merge Request Hook"
    EventTypeNote         EventType = "Note Hook"
    EventTypePipeline     EventType = "Pipeline Hook"
    EventTypePush         EventType = "Push Hook"
    EventTypeTagPush      EventType = "Tag Push Hook"
    EventTypeWikiPage     EventType = "Wiki Page Hook"
)

List of available event types.

func WebhookEventType Uses

func WebhookEventType(r *http.Request) EventType

WebhookEventType returns the event type for the given request.

type EventTypeValue Uses

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/ce/api/events.html#action-types

type EventsService Uses

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/ce/api/events.html

func (*EventsService) ListCurrentUserContributionEvents Uses

func (s *EventsService) ListCurrentUserContributionEvents(opt *ListContributionEventsOptions, options ...OptionFunc) ([]*ContributionEvent, *Response, error)

ListCurrentUserContributionEvents gets a list currently authenticated user's events

GitLab API docs: https://docs.gitlab.com/ce/api/events.html#list-currently-authenticated-user-39-s-events

func (*EventsService) ListProjectVisibleEvents Uses

func (s *EventsService) ListProjectVisibleEvents(pid interface{}, opt *ListContributionEventsOptions, options ...OptionFunc) ([]*ContributionEvent, *Response, error)

ListProjectVisibleEvents gets a list of visible events for a particular project

GitLab API docs: https://docs.gitlab.com/ee/api/events.html#list-a-project-s-visible-events

type ExploreSnippetsOptions Uses

type ExploreSnippetsOptions ListOptions

ExploreSnippetsOptions represents the available ExploreSnippets() options.

GitLab API docs: https://docs.gitlab.com/ce/api/snippets.html#explore-all-public-snippets

type ExportStatus Uses

type ExportStatus struct {
    ID                int        `json:"id"`
    Description       string     `json:"description"`
    Name              string     `json:"name"`
    NameWithNamespace string     `json:"name_with_namespace"`
    Path              string     `json:"path"`
    PathWithNamespace string     `json:"path_with_namespace"`
    CreatedAt         *time.Time `json:"created_at"`
    ExportStatus      string     `json:"export_status"`
    Message           string     `json:"message"`
    Links             struct {
        APIURL string `json:"api_url"`
        WebURL string `json:"web_url"`
    }   `json:"_links"`
}

ExportStatus represents a project export status.

GitLab API docs: https://docs.gitlab.com/ce/api/project_import_export.html#export-status

func (ExportStatus) String Uses

func (s ExportStatus) String() string

type ExternalWikiService Uses

type ExternalWikiService struct {
    Service
    Properties *ExternalWikiServiceProperties `json:"properties"`
}

ExternalWikiService represents External Wiki service settings.

GitLab API docs: https://docs.gitlab.com/ce/api/services.html#external-wiki

type ExternalWikiServiceProperties Uses

type ExternalWikiServiceProperties struct {
    ExternalWikiURL string `json:"external_wiki_url"`
}

ExternalWikiServiceProperties represents External Wiki specific properties.

GitLab API docs: https://docs.gitlab.com/ce/api/services.html#external-wiki

type Feature Uses

type Feature struct {
    Name  string `json:"name"`
    State string `json:"state"`
    Gates []Gate
}

Feature represents a GitLab feature flag.

GitLab API docs: https://docs.gitlab.com/ce/api/features.html

func (Feature) String Uses

func (f Feature) String() string

type FeaturesService Uses

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/ce/api/features.html

func (*FeaturesService) ListFeatures Uses

func (s *FeaturesService) ListFeatures(options ...OptionFunc) ([]*Feature, *Response, error)

ListFeatures gets a list of feature flags

GitLab API docs: https://docs.gitlab.com/ce/api/features.html#list-all-features

func (*FeaturesService) SetFeatureFlag Uses

func (s *FeaturesService) SetFeatureFlag(name string, value interface{}, options ...OptionFunc) (*Feature, *Response, error)

SetFeatureFlag sets or creates a feature flag gate

GitLab API docs: https://docs.gitlab.com/ce/api/features.html#set-or-create-a-feature

type File Uses

type File struct {
    FileName string `json:"file_name"`
    FilePath string `json:"file_path"`
    Size     int    `json:"size"`
    Encoding string `json:"encoding"`
    Content  string `json:"content"`
    Ref      string `json:"ref"`
    BlobID   string `json:"blob_id"`
    CommitID string `json:"commit_id"`
    SHA256   string `json:"content_sha256"`
}

File represents a GitLab repository file.

GitLab API docs: https://docs.gitlab.com/ce/api/repository_files.html

func (File) String Uses

func (r File) String() string

type FileAction Uses

type FileAction string

FileAction represents the available actions that can be performed on a file.

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

const (
    FileCreate FileAction = "create"
    FileDelete FileAction = "delete"
    FileMove   FileAction = "move"
    FileUpdate FileAction = "update"
)

The available file actions.

type FileInfo Uses

type FileInfo struct {
    FilePath string `json:"file_path"`
    Branch   string `json:"branch"`
}

FileInfo represents file details of a GitLab repository file.

GitLab API docs: https://docs.gitlab.com/ce/api/repository_files.html

func (FileInfo) String Uses

func (r FileInfo) String() string

type ForkParent Uses

type ForkParent struct {
    HTTPURLToRepo     string `json:"http_url_to_repo"`
    ID                int    `json:"id"`
    Name              string `json:"name"`
    NameWithNamespace string `json:"name_with_namespace"`
    Path              string `json:"path"`
    PathWithNamespace string `json:"path_with_namespace"`
    WebURL            string `json:"web_url"`
}

ForkParent represents the parent project when this is a fork.

type ForkProjectOptions Uses

type ForkProjectOptions 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"`
}

ForkProjectOptions represents the available ForkProject() options.

GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#fork-project

type GPGSignature Uses

type GPGSignature struct {
    KeyID              int    `json:"gpg_key_id"`
    KeyPrimaryKeyID    string `json:"gpg_key_primary_keyid"`
    KeyUserName        string `json:"gpg_key_user_name"`
    KeyUserEmail       string `json:"gpg_key_user_email"`
    VerificationStatus string `json:"verification_status"`
    KeySubkeyID        int    `json:"gpg_key_subkey_id"`
}

GPGSignature represents a Gitlab commit's GPG Signature.

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

type Gate Uses

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

Gate represents a gate of a GitLab feature flag.

GitLab API docs: https://docs.gitlab.com/ce/api/features.html

type GetAllImpersonationTokensOptions Uses

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/ce/api/users.html#get-all-impersonation-tokens-of-a-user

type GetCommitCommentsOptions Uses

type GetCommitCommentsOptions ListOptions

GetCommitCommentsOptions represents the available GetCommitComments() options.

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

type GetCommitDiffOptions Uses

type GetCommitDiffOptions ListOptions

GetCommitDiffOptions represents the available GetCommitDiff() options.

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

type GetCommitRefsOptions Uses

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/ce/api/commits.html#get-references-a-commit-is-pushed-to

type GetCommitStatusesOptions Uses

type GetCommitStatusesOptions struct {
    ListOptions
    Ref   *string `url:"ref,omitempty" json:"ref,omitempty"`
    Stage *string `url:"stage,omitempty" json:"stage,omitempty"`
    Name  *string `url:"name,omitempty" json:"name,omitempty"`
    All   *bool   `url:"all,omitempty" json:"all,omitempty"`
}

GetCommitStatusesOptions represents the available GetCommitStatuses() options.

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

type GetFileMetaDataOptions Uses

type GetFileMetaDataOptions struct {
    Ref *string `url:"ref,omitempty" json:"ref,omitempty"`
}

GetFileMetaDataOptions represents the available GetFileMetaData() options.

GitLab API docs: https://docs.gitlab.com/ce/api/repository_files.html#get-file-from-repository

type GetFileOptions Uses

type GetFileOptions struct {
    Ref *string `url:"ref,omitempty" json:"ref,omitempty"`
}

GetFileOptions represents the available GetFile() options.

GitLab API docs: https://docs.gitlab.com/ce/api/repository_files.html#get-file-from-repository

type GetGroupMilestoneIssuesOptions Uses

type GetGroupMilestoneIssuesOptions ListOptions

GetGroupMilestoneIssuesOptions represents the available GetGroupMilestoneIssues() options.

GitLab API docs: https://docs.gitlab.com/ce/api/group_milestones.html#get-all-issues-assigned-to-a-single-milestone

type GetGroupMilestoneMergeRequestsOptions Uses

type GetGroupMilestoneMergeRequestsOptions ListOptions

GetGroupMilestoneMergeRequestsOptions represents the available GetGroupMilestoneMergeRequests() options.

GitLab API docs: https://docs.gitlab.com/ce/api/group_milestones.html#get-all-merge-requests-assigned-to-a-single-milestone

type GetIssueBoardListsOptions Uses

type GetIssueBoardListsOptions ListOptions

GetIssueBoardListsOptions represents the available GetIssueBoardLists() options.

GitLab API docs: https://docs.gitlab.com/ce/api/boards.html#list-board-lists

type GetIssuesClosedOnMergeOptions Uses

type GetIssuesClosedOnMergeOptions ListOptions

GetIssuesClosedOnMergeOptions represents the available GetIssuesClosedOnMerge() options.

GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#list-issues-that-will-close-on-merge

type GetLicenseTemplateOptions Uses

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/ce/api/templates/licenses.html#single-license-template

type GetMergeRequestCommitsOptions Uses

type GetMergeRequestCommitsOptions ListOptions

GetMergeRequestCommitsOptions represents the available GetMergeRequestCommits() options.

GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#get-single-mr-commits

type GetMergeRequestDiffVersionsOptions Uses

type GetMergeRequestDiffVersionsOptions ListOptions

GetMergeRequestDiffVersionsOptions represents the available GetMergeRequestDiffVersions() options.

GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#get-mr-diff-versions

type GetMergeRequestsOptions Uses

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/ce/api/merge_requests.html#get-single-mr

type GetMilestoneIssuesOptions Uses

type GetMilestoneIssuesOptions ListOptions

GetMilestoneIssuesOptions represents the available GetMilestoneIssues() options.

GitLab API docs: https://docs.gitlab.com/ce/api/milestones.html#get-all-issues-assigned-to-a-single-milestone

type GetMilestoneMergeRequestsOptions Uses

type GetMilestoneMergeRequestsOptions ListOptions

GetMilestoneMergeRequestsOptions represents the available GetMilestoneMergeRequests() options.

GitLab API docs: https://docs.gitlab.com/ce/api/milestones.html#get-all-merge-requests-assigned-to-a-single-milestone

type GetProjectEventsOptions Uses

type GetProjectEventsOptions ListOptions

GetProjectEventsOptions represents the available GetProjectEvents() options.

GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#get-project-events

type GetProjectOptions Uses

type GetProjectOptions struct {
    Statistics           *bool `url:"statistics,omitempty" json:"statistics,omitempty"`
    License              *bool `url:"license,omitempty" json:"license,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/ee/api/projects.html#get-single-project

type GetRawFileOptions Uses

type GetRawFileOptions struct {
    Ref *string `url:"ref,omitempty" json:"ref,omitempty"`
}

GetRawFileOptions represents the available GetRawFile() options.

GitLab API docs: https://docs.gitlab.com/ce/api/repository_files.html#get-raw-file-from-repository

type GetUserActivitiesOptions Uses

type GetUserActivitiesOptions struct {
    From *ISOTime `url:"from,omitempty" json:"from,omitempty"`
}

GetUserActivitiesOptions represents the options for GetUserActivities

GitLap API docs: https://docs.gitlab.com/ce/api/users.html#get-user-activities-admin-only

type GitIgnoreTemplate Uses

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

GitIgnoreTemplate represents a GitLab gitignore template.

GitLab API docs: https://docs.gitlab.com/ce/api/templates/gitignores.html

type GitIgnoreTemplatesService Uses

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/ce/api/templates/gitignores.html

func (*GitIgnoreTemplatesService) GetTemplate Uses

func (s *GitIgnoreTemplatesService) GetTemplate(key string, options ...OptionFunc) (*GitIgnoreTemplate, *Response, error)

GetTemplate get a git ignore template

GitLab API docs: https://docs.gitlab.com/ce/api/templates/gitignores.html#single-gitignore-template

func (*GitIgnoreTemplatesService) ListTemplates Uses

func (s *GitIgnoreTemplatesService) ListTemplates(opt *ListTemplatesOptions, options ...OptionFunc) ([]*GitIgnoreTemplate, *Response, error)

ListTemplates get a list of available git ignore templates

GitLab API docs: https://docs.gitlab.com/ce/api/templates/gitignores.html#list-gitignore-templates

type GithubService Uses

type GithubService struct {
    Service
    Properties *GithubServiceProperties `json:"properties"`
}

GithubService represents Github service settings.

GitLab API docs: https://docs.gitlab.com/ce/api/services.html#github-premium

type GithubServiceProperties Uses

type GithubServiceProperties struct {
    RepositoryURL string `json:"repository_url,omitempty"`
    StaticContext string `json:"static_context,omitempty"`
}

GithubServiceProperties represents Github specific properties.

GitLab API docs: https://docs.gitlab.com/ce/api/services.html#github-premium

type Group Uses

type Group struct {
    ID                             int                `json:"id"`
    Name                           string             `json:"name"`
    Path                           string             `json:"path"`
    Description                    string             `json:"description"`
    Visibility                     *VisibilityValue   `json:"visibility"`
    LFSEnabled                     bool               `json:"lfs_enabled"`
    AvatarURL                      string             `json:"avatar_url"`
    WebURL                         string             `json:"web_url"`
    RequestAccessEnabled           bool               `json:"request_access_enabled"`
    FullName                       string             `json:"full_name"`
    FullPath                       string             `json:"full_path"`
    ParentID                       int                `json:"parent_id"`
    Projects                       []*Project         `json:"projects"`
    Statistics                     *StorageStatistics `json:"statistics"`
    CustomAttributes               []*CustomAttribute `json:"custom_attributes"`
    ShareWithGroupLock             bool               `json:"share_with_group_lock"`
    RequireTwoFactorAuth           bool               `json:"require_two_factor_authentication"`
    TwoFactorGracePeriod           int                `json:"two_factor_grace_period"`
    ProjectCreationLevel           string             `json:"project_creation_level"`
    AutoDevopsEnabled              bool               `json:"auto_devops_enabled"`
    SubGroupCreationLevel          string             `json:"subgroup_creation_level"`
    EmailsDisabled                 bool               `json:"emails_disabled"`
    RunnersToken                   string             `json:"runners_token"`
    SharedProjects                 []*Project         `json:"shared_projects"`
    LDAPCN                         string             `json:"ldap_cn"`
    LDAPAccess                     bool               `json:"ldap_access"`
    SharedRunnersMinutesLimit      int                `json:"shared_runners_minutes_limit"`
    ExtraSharedRunnersMinutesLimit int                `json:"extra_shared_runners_minutes_limit"`
}

Group represents a GitLab group.

GitLab API docs: https://docs.gitlab.com/ce/api/groups.html

type GroupAccess Uses

type GroupAccess struct {
    AccessLevel       AccessLevelValue       `json:"access_level"`
    NotificationLevel NotificationLevelValue `json:"notification_level"`
}

GroupAccess represents group access.

type GroupBadge Uses

type GroupBadge struct {
    ID               int       `json:"id"`
    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/ee/api/group_badges.html

type GroupBadgePreviewOptions Uses

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

GroupBadgePreviewOptions represents the available PreviewGroupBadge() options.

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

type GroupBadgesService Uses

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

GroupBadgesService handles communication with the group badges

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

func (*GroupBadgesService) AddGroupBadge Uses

func (s *GroupBadgesService) AddGroupBadge(gid interface{}, opt *AddGroupBadgeOptions, options ...OptionFunc) (*GroupBadge, *Response, error)

AddGroupBadge adds a badge to a group.

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

func (*GroupBadgesService) DeleteGroupBadge Uses

func (s *GroupBadgesService) DeleteGroupBadge(gid interface{}, badge int, options ...OptionFunc) (*Response, error)

DeleteGroupBadge removes a badge from a group.

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

func (*GroupBadgesService) EditGroupBadge Uses

func (s *GroupBadgesService) EditGroupBadge(gid interface{}, badge int, opt *EditGroupBadgeOptions, options ...OptionFunc) (*GroupBadge, *Response, error)

EditGroupBadge updates a badge of a group.

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

func (*GroupBadgesService) GetGroupBadge Uses

func (s *GroupBadgesService) GetGroupBadge(gid interface{}, badge int, options ...OptionFunc) (*GroupBadge, *Response, error)

GetGroupBadge gets a group badge.

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

func (*GroupBadgesService) ListGroupBadges Uses

func (s *GroupBadgesService) ListGroupBadges(gid interface{}, opt *ListGroupBadgesOptions, options ...OptionFunc) ([]*GroupBadge, *Response, error)

ListGroupBadges gets a list of a group badges.

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

func (*GroupBadgesService) PreviewGroupBadge Uses

func (s *GroupBadgesService) PreviewGroupBadge(gid interface{}, opt *GroupBadgePreviewOptions, options ...OptionFunc) (*GroupBadge, *Response, error)

PreviewGroupBadge returns how the link_url and image_url final URLs would be after resolving the placeholder interpolation.

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

type GroupCluster Uses

type GroupCluster struct {
    ID                 int                 `json:"id"`
    Name               string              `json:"name"`
    Domain             string              `json:"domain"`
    CreatedAt          *time.Time          `json:"created_at"`
    ProviderType       string              `json:"provider_type"`
    PlatformType       string              `json:"platform_type"`
    EnvironmentScope   string              `json:"environment_scope"`
    ClusterType        string              `json:"cluster_type"`
    User               *User               `json:"user"`
    PlatformKubernetes *PlatformKubernetes `json:"platform_kubernetes"`
    Group              *Group              `json:"group"`
}

GroupCluster represents a GitLab Group Cluster.

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

func (GroupCluster) String Uses

func (v GroupCluster) String() string

type GroupClustersService Uses

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

GroupClustersService handles communication with the group clusters related methods of the GitLab API.

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

func (*GroupClustersService) AddCluster Uses

func (s *GroupClustersService) AddCluster(pid interface{}, opt *AddGroupClusterOptions, options ...OptionFunc) (*GroupCluster, *Response, error)

AddCluster adds an existing cluster to the group.

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

func (*GroupClustersService) DeleteCluster Uses

func (s *GroupClustersService) DeleteCluster(pid interface{}, cluster int, options ...OptionFunc) (*Response, error)

DeleteCluster deletes an existing group cluster.

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

func (*GroupClustersService) EditCluster Uses

func (s *GroupClustersService) EditCluster(pid interface{}, cluster int, opt *EditGroupClusterOptions, options ...OptionFunc) (*GroupCluster, *Response, error)

EditCluster updates an existing group cluster.

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

func (*GroupClustersService) GetCluster Uses

func (s *GroupClustersService) GetCluster(pid interface{}, cluster int, options ...OptionFunc) (*GroupCluster, *Response, error)

GetCluster gets a cluster.

GitLab API docs: https://docs.gitlab.com/ee/api/group_clusters.html#get-a-single-group-cluster

func (*GroupClustersService) ListClusters Uses

func (s *GroupClustersService) ListClusters(pid interface{}, options ...OptionFunc) ([]*GroupCluster, *Response, error)

ListClusters gets a list of all clusters in a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_clusters.html#list-group-clusters

type GroupIssueBoard Uses

type GroupIssueBoard struct {
    ID        int          `json:"id"`
    Name      string       `json:"name"`
    Group     *Group       `json:"group"`
    Milestone *Milestone   `json:"milestone"`
    Lists     []*BoardList `json:"lists"`
}

GroupIssueBoard represents a GitLab group issue board.

GitLab API docs: https://docs.gitlab.com/ce/api/group_boards.html

func (GroupIssueBoard) String Uses

func (b GroupIssueBoard) String() string

type GroupIssueBoardsService Uses

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/ce/api/group_boards.html

func (*GroupIssueBoardsService) CreateGroupIssueBoardList Uses

func (s *GroupIssueBoardsService) CreateGroupIssueBoardList(gid interface{}, board int, opt *CreateGroupIssueBoardListOptions, options ...OptionFunc) (*BoardList, *Response, error)

CreateGroupIssueBoardList creates a new issue board list.

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

func (*GroupIssueBoardsService) DeleteGroupIssueBoardList Uses

func (s *GroupIssueBoardsService) DeleteGroupIssueBoardList(gid interface{}, board, list int, options ...OptionFunc) (*Response, error)

DeleteGroupIssueBoardList soft deletes a group issue board list. Only for admins and group owners.

GitLab API docs: https://docs.gitlab.com/ce/api/group_boards.html#delete-a-board-list

func (*GroupIssueBoardsService) GetGroupIssueBoard Uses

func (s *GroupIssueBoardsService) GetGroupIssueBoard(gid interface{}, board int, options ...OptionFunc) (*GroupIssueBoard, *Response, error)

GetGroupIssueBoard gets a single issue board of a group.

GitLab API docs: https://docs.gitlab.com/ce/api/group_boards.html#single-board

func (*GroupIssueBoardsService) GetGroupIssueBoardList Uses

func (s *GroupIssueBoardsService) GetGroupIssueBoardList(gid interface{}, board, list int, options ...OptionFunc) (*BoardList, *Response, error)

GetGroupIssueBoardList gets a single issue board list.

GitLab API docs: https://docs.gitlab.com/ce/api/group_boards.html#single-board-list

func (*GroupIssueBoardsService) ListGroupIssueBoardLists Uses

func (s *GroupIssueBoardsService) ListGroupIssueBoardLists(gid interface{}, board int, opt *ListGroupIssueBoardListsOptions, options ...OptionFunc) ([]*BoardList, *Response, error)

ListGroupIssueBoardLists gets a list of the issue board's lists. Does not include backlog and closed lists.

GitLab API docs: https://docs.gitlab.com/ce/api/group_boards.html#list-board-lists

func (*GroupIssueBoardsService) ListGroupIssueBoards Uses

func (s *GroupIssueBoardsService) ListGroupIssueBoards(gid interface{}, opt *ListGroupIssueBoardsOptions, options ...OptionFunc) ([]*GroupIssueBoard, *Response, error)

ListGroupIssueBoards gets a list of all issue boards in a group.

GitLab API docs: https://docs.gitlab.com/ce/api/group_boards.html#group-board

func (*GroupIssueBoardsService) UpdateIssueBoardList Uses

func (s *GroupIssueBoardsService) UpdateIssueBoardList(gid interface{}, board, list int, opt *UpdateGroupIssueBoardListOptions, options ...OptionFunc) ([]*BoardList, *Response, error)

UpdateIssueBoardList updates the position of an existing group issue board list.

GitLab API docs: https://docs.gitlab.com/ce/api/group_boards.html#edit-board-list

type GroupLabel Uses

type GroupLabel Label

GroupLabel represents a GitLab group label.

GitLab API docs: https://docs.gitlab.com/ce/api/group_labels.html

func (GroupLabel) String Uses

func (l GroupLabel) String() string

type GroupLabelsService Uses

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/ce/api/group_labels.html

func (*GroupLabelsService) CreateGroupLabel Uses

func (s *GroupLabelsService) CreateGroupLabel(gid interface{}, opt *CreateGroupLabelOptions, options ...OptionFunc) (*GroupLabel, *Response, error)

CreateGroupLabel creates a new label for given group with given name and color.

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

func (*GroupLabelsService) DeleteGroupLabel Uses

func (s *GroupLabelsService) DeleteGroupLabel(gid interface{}, opt *DeleteGroupLabelOptions, options ...OptionFunc) (*Response, error)

DeleteGroupLabel deletes a group label given by its name.

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

func (*GroupLabelsService) ListGroupLabels Uses

func (s *GroupLabelsService) ListGroupLabels(gid interface{}, opt *ListGroupLabelsOptions, options ...OptionFunc) ([]*GroupLabel, *Response, error)

ListGroupLabels gets all labels for given group.

GitLab API docs: https://docs.gitlab.com/ce/api/group_labels.html#list-group-labels

func (*GroupLabelsService) SubscribeToGroupLabel Uses

func (s *GroupLabelsService) SubscribeToGroupLabel(gid interface{}, labelID interface{}, options ...OptionFunc) (*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/ce/api/group_labels.html#subscribe-to-a-group-label

func (*GroupLabelsService) UnsubscribeFromGroupLabel Uses

func (s *GroupLabelsService) UnsubscribeFromGroupLabel(gid interface{}, labelID interface{}, options ...OptionFunc) (*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/ce/api/group_labels.html#unsubscribe-from-a-group-label

func (*GroupLabelsService) UpdateGroupLabel Uses

func (s *GroupLabelsService) UpdateGroupLabel(gid interface{}, opt *UpdateGroupLabelOptions, options ...OptionFunc) (*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/ce/api/group_labels.html#update-a-group-label

type GroupMember Uses

type GroupMember struct {
    ID          int              `json:"id"`
    Username    string           `json:"username"`
    Name        string           `json:"name"`
    State       string           `json:"state"`
    AvatarURL   string           `json:"avatar_url"`
    WebURL      string           `json:"web_url"`
    ExpiresAt   *ISOTime         `json:"expires_at"`
    AccessLevel AccessLevelValue `json:"access_level"`
}

GroupMember represents a GitLab group member.

GitLab API docs: https://docs.gitlab.com/ce/api/members.html

type GroupMembersService Uses

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/ce/api/members.html

func (*GroupMembersService) AddGroupMember Uses

func (s *GroupMembersService) AddGroupMember(gid interface{}, opt *AddGroupMemberOptions, options ...OptionFunc) (*GroupMember, *Response, error)

AddGroupMember adds a user to the list of group members.

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

func (*GroupMembersService) EditGroupMember Uses

func (s *GroupMembersService) EditGroupMember(gid interface{}, user int, opt *EditGroupMemberOptions, options ...OptionFunc) (*GroupMember, *Response, error)

EditGroupMember updates a member of a group.

GitLab API docs: https://docs.gitlab.com/ce/api/members.html#edit-a-member-of-a-group-or-project

func (*GroupMembersService) GetGroupMember Uses

func (s *GroupMembersService) GetGroupMember(gid interface{}, user int, options ...OptionFunc) (*GroupMember, *Response, error)

GetGroupMember gets a member of a group.

GitLab API docs: https://docs.gitlab.com/ce/api/members.html#get-a-member-of-a-group-or-project

func (*GroupMembersService) RemoveGroupMember Uses

func (s *GroupMembersService) RemoveGroupMember(gid interface{}, user int, options ...OptionFunc) (*Response, error)

RemoveGroupMember removes user from user team.

GitLab API docs: https://docs.gitlab.com/ce/api/members.html#remove-a-member-from-a-group-or-project

type GroupMilestone Uses

type GroupMilestone struct {
    ID          int        `json:"id"`
    IID         int        `json:"iid"`
    GroupID     int        `json:"group_id"`
    Title       string     `json:"title"`
    Description string     `json:"description"`
    StartDate   *ISOTime   `json:"start_date"`
    DueDate     *ISOTime   `json:"due_date"`
    State       string     `json:"state"`
    UpdatedAt   *time.Time `json:"updated_at"`
    CreatedAt   *time.Time `json:"created_at"`
}

GroupMilestone represents a GitLab milestone.

GitLab API docs: https://docs.gitlab.com/ce/api/group_milestones.html

func (GroupMilestone) String Uses

func (m GroupMilestone) String() string

type GroupMilestonesService Uses

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/ce/api/group_milestones.html

func (*GroupMilestonesService) CreateGroupMilestone Uses

func (s *GroupMilestonesService) CreateGroupMilestone(gid interface{}, opt *CreateGroupMilestoneOptions, options ...OptionFunc) (*GroupMilestone, *Response, error)

CreateGroupMilestone creates a new group milestone.

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

func (*GroupMilestonesService) GetGroupMilestone Uses

func (s *GroupMilestonesService) GetGroupMilestone(gid interface{}, milestone int, options ...OptionFunc) (*GroupMilestone, *Response, error)

GetGroupMilestone gets a single group milestone.

GitLab API docs: https://docs.gitlab.com/ce/api/group_milestones.html#get-single-milestone

func (*GroupMilestonesService) GetGroupMilestoneIssues Uses

func (s *GroupMilestonesService) GetGroupMilestoneIssues(gid interface{}, milestone int, opt *GetGroupMilestoneIssuesOptions, options ...OptionFunc) ([]*Issue, *Response, error)

GetGroupMilestoneIssues gets all issues assigned to a single group milestone.

GitLab API docs: https://docs.gitlab.com/ce/api/group_milestones.html#get-all-issues-assigned-to-a-single-milestone

func (*GroupMilestonesService) GetGroupMilestoneMergeRequests Uses

func (s *GroupMilestonesService) GetGroupMilestoneMergeRequests(gid interface{}, milestone int, opt *GetGroupMilestoneMergeRequestsOptions, options ...OptionFunc) ([]*MergeRequest, *Response, error)

GetGroupMilestoneMergeRequests gets all merge requests assigned to a single group milestone.

GitLab API docs: https://docs.gitlab.com/ce/api/group_milestones.html#get-all-merge-requests-assigned-to-a-single-milestone

func (*GroupMilestonesService) ListGroupMilestones Uses

func (s *GroupMilestonesService) ListGroupMilestones(gid interface{}, opt *ListGroupMilestonesOptions, options ...OptionFunc) ([]*GroupMilestone, *Response, error)

ListGroupMilestones returns a list of group milestones.

GitLab API docs: https://docs.gitlab.com/ce/api/group_milestones.html#list-group-milestones

func (*GroupMilestonesService) UpdateGroupMilestone Uses

func (s *GroupMilestonesService) UpdateGroupMilestone(gid interface{}, milestone int, opt *UpdateGroupMilestoneOptions, options ...OptionFunc) (*GroupMilestone, *Response, error)

UpdateGroupMilestone updates an existing group milestone.

GitLab API docs: https://docs.gitlab.com/ce/api/group_milestones.html#edit-milestone

type GroupVariable Uses

type GroupVariable struct {
    Key          string            `json:"key"`
    Value        string            `json:"value"`
    VariableType VariableTypeValue `json:"variable_type"`
    Protected    bool              `json:"protected"`
}

GroupVariable represents a GitLab group Variable.

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

func (GroupVariable) String Uses

func (v GroupVariable) String() string

type GroupVariablesService Uses

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/ee/api/group_level_variables.html

func (*GroupVariablesService) CreateVariable Uses

func (s *GroupVariablesService) CreateVariable(gid interface{}, opt *CreateGroupVariableOptions, options ...OptionFunc) (*GroupVariable, *Response, error)

CreateVariable creates a new group variable.

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

func (*GroupVariablesService) GetVariable Uses

func (s *GroupVariablesService) GetVariable(gid interface{}, key string, options ...OptionFunc) (*GroupVariable, *Response, error)

GetVariable gets a variable.

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

func (*GroupVariablesService) ListVariables Uses

func (s *GroupVariablesService) ListVariables(gid interface{}, opt *ListGroupVariablesOptions, options ...OptionFunc) ([]*GroupVariable, *Response, error)

ListVariables gets a list of all variables for a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_level_variables.html#list-group-variables

func (*GroupVariablesService) RemoveVariable Uses

func (s *GroupVariablesService) RemoveVariable(gid interface{}, key string, options ...OptionFunc) (*Response, error)

RemoveVariable removes a group's variable.

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

func (*GroupVariablesService) UpdateVariable Uses

func (s *GroupVariablesService) UpdateVariable(gid interface{}, key string, opt *UpdateGroupVariableOptions, options ...OptionFunc) (*GroupVariable, *Response, error)

UpdateVariable updates the position of an existing group issue board list.

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

type GroupsService Uses

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/ce/api/groups.html

func (*GroupsService) CreateGroup Uses

func (s *GroupsService) CreateGroup(opt *CreateGroupOptions, options ...OptionFunc) (*Group, *Response, error)

CreateGroup creates a new project group. Available only for users who can create groups.

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

func (*GroupsService) DeleteGroup Uses

func (s *GroupsService) DeleteGroup(gid interface{}, options ...OptionFunc) (*Response, error)

DeleteGroup removes group with all projects inside.

GitLab API docs: https://docs.gitlab.com/ce/api/groups.html#remove-group

func (*GroupsService) GetGroup Uses

func (s *GroupsService) GetGroup(gid interface{}, options ...OptionFunc) (*Group, *Response, error)

GetGroup gets all details of a group.

GitLab API docs: https://docs.gitlab.com/ce/api/groups.html#details-of-a-group

func (*GroupsService) ListAllGroupMembers Uses

func (s *GroupsService) ListAllGroupMembers(gid interface{}, opt *ListGroupMembersOptions, options ...OptionFunc) ([]*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/ce/api/members.html#list-all-members-of-a-group-or-project-including-inherited-members

func (*GroupsService) ListGroupMembers Uses

func (s *GroupsService) ListGroupMembers(gid interface{}, opt *ListGroupMembersOptions, options ...OptionFunc) ([]*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/ce/api/members.html#list-all-members-of-a-group-or-project

func (*GroupsService) ListGroupProjects Uses

func (s *GroupsService) ListGroupProjects(gid interface{}, opt *ListGroupProjectsOptions, options ...OptionFunc) ([]*Project, *Response, error)

ListGroupProjects get a list of group projects

GitLab API docs: https://docs.gitlab.com/ce/api/groups.html#list-a-group-39-s-projects

func (*GroupsService) ListGroups Uses

func (s *GroupsService) ListGroups(opt *ListGroupsOptions, options ...OptionFunc) ([]*Group, *Response, error)

ListGroups gets a list of groups (as user: my groups, as admin: all groups).

GitLab API docs: https://docs.gitlab.com/ce/api/groups.html#list-project-groups

func (*GroupsService) ListSubgroups Uses

func (s *GroupsService) ListSubgroups(gid interface{}, opt *ListSubgroupsOptions, options ...OptionFunc) ([]*Group, *Response, error)

ListSubgroups gets a list of subgroups for a given project.

GitLab API docs: https://docs.gitlab.com/ce/api/groups.html#list-a-groups-s-subgroups

func (*GroupsService) SearchGroup Uses

func (s *GroupsService) SearchGroup(query string, options ...OptionFunc) ([]*Group, *Response, error)

SearchGroup get all groups that match your string in their name or path.

GitLab API docs: https://docs.gitlab.com/ce/api/groups.html#search-for-group

func (*GroupsService) TransferGroup Uses

func (s *GroupsService) TransferGroup(gid interface{}, pid interface{}, options ...OptionFunc) (*Group, *Response, error)

TransferGroup transfers a project to the Group namespace. Available only for admin.

GitLab API docs: https://docs.gitlab.com/ce/api/groups.html#transfer-project-to-group

func (*GroupsService) UpdateGroup Uses

func (s *GroupsService) UpdateGroup(gid interface{}, opt *UpdateGroupOptions, options ...OptionFunc) (*Group, *Response, error)

UpdateGroup updates an existing group; only available to group owners and administrators.

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

type Hook Uses

type Hook struct {
    ID        int        `json:"id"`
    URL       string     `json:"url"`
    CreatedAt *time.Time `json:"created_at"`
}

Hook represents a GitLap system hook.

GitLab API docs: https://docs.gitlab.com/ce/api/system_hooks.html

func (Hook) String Uses

func (h Hook) String() string

type HookEvent Uses

type HookEvent struct {
    EventName  string `json:"event_name"`
    Name       string `json:"name"`
    Path       string `json:"path"`
    ProjectID  int    `json:"project_id"`
    OwnerName  string `json:"owner_name"`
    OwnerEmail string `json:"owner_email"`
}

HookEvent represents an event trigger by a GitLab system hook.

GitLab API docs: https://docs.gitlab.com/ce/api/system_hooks.html

func (HookEvent) String Uses

func (h HookEvent) String() string

type ISOTime Uses

type ISOTime time.Time

ISOTime represents an ISO 8601 formatted date

func (*ISOTime) EncodeValues Uses

func (t *ISOTime) EncodeValues(key string, v *url.Values) error

EncodeValues implements the query.Encoder interface

func (ISOTime) MarshalJSON Uses

func (t ISOTime) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface

func (ISOTime) String Uses

func (t ISOTime) String() string

String implements the Stringer interface

func (*ISOTime) UnmarshalJSON Uses

func (t *ISOTime) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface

type ImpersonationToken Uses

type ImpersonationToken struct {
    ID        int        `json:"id"`
    Name      string     `json:"name"`
    Active    bool       `json:"active"`
    Token     string     `json:"token"`
    Scopes    []string   `json:"scopes"`
    Revoked   bool       `json:"revoked"`
    CreatedAt *time.Time `json:"created_at"`
    ExpiresAt *ISOTime   `json:"expires_at"`
}

ImpersonationToken represents an impersonation token.

GitLab API docs: https://docs.gitlab.com/ce/api/users.html#get-all-impersonation-tokens-of-a-user

type ImportFileOptions Uses

type ImportFileOptions struct {
    Namespace      *string               `url:"namespace,omitempty" json:"namespace,omitempty"`
    File           *string               `url:"file,omitempty" json:"file,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/ce/api/project_import_export.html#import-a-file

type ImportStatus Uses

type ImportStatus struct {
    ID                int        `json:"id"`
    Description       string     `json:"description"`
    Name              string     `json:"name"`
    NameWithNamespace string     `json:"name_with_namespace"`
    Path              string     `json:"path"`
    PathWithNamespace string     `json:"path_with_namespace"`
    CreateAt          *time.Time `json:"create_at"`
    ImportStatus      string     `json:"import_status"`
}

ImportStatus represents a project import status.

GitLab API docs: https://docs.gitlab.com/ce/api/project_import_export.html#import-status

func (ImportStatus) String Uses

func (s ImportStatus) String() string

type Issue Uses

type Issue struct {
    ID                int              `json:"id"`
    IID               int              `json:"iid"`
    ProjectID         int              `json:"project_id"`
    Milestone         *Milestone       `json:"milestone"`
    Author            *IssueAuthor     `json:"author"`
    Description       string           `json:"description"`
    State             string           `json:"state"`
    Assignees         []*IssueAssignee `json:"assignees"`
    Assignee          *IssueAssignee   `json:"assignee"`
    Upvotes           int              `json:"upvotes"`
    Downvotes         int              `json:"downvotes"`
    Labels            Labels           `json:"labels"`
    Title             string           `json:"title"`
    UpdatedAt         *time.Time       `json:"updated_at"`
    CreatedAt         *time.Time       `json:"created_at"`
    ClosedAt          *time.Time       `json:"closed_at"`
    Subscribed        bool             `json:"subscribed"`
    UserNotesCount    int              `json:"user_notes_count"`
    DueDate           *ISOTime         `json:"due_date"`
    WebURL            string           `json:"web_url"`
    TimeStats         *TimeStats       `json:"time_stats"`
    Confidential      bool             `json:"confidential"`
    Weight            int              `json:"weight"`
    DiscussionLocked  bool             `json:"discussion_locked"`
    Links             *IssueLinks      `json:"_links"`
    IssueLinkID       int              `json:"issue_link_id"`
    MergeRequestCount int              `json:"merge_requests_count"`
}

Issue represents a GitLab issue.

GitLab API docs: https://docs.gitlab.com/ce/api/issues.html

func (Issue) String Uses

func (i Issue) String() string

type IssueAssignee Uses

type IssueAssignee struct {
    ID        int    `json:"id"`
    State     string `json:"state"`
    WebURL    string `json:"web_url"`
    Name      string `json:"name"`
    AvatarURL string `json:"avatar_url"`
    Username  string `json:"username"`
}

IssueAssignee represents a assignee of the issue.

type IssueAuthor Uses

type IssueAuthor struct {
    ID        int    `json:"id"`
    State     string `json:"state"`
    WebURL    string `json:"web_url"`
    Name      string `json:"name"`
    AvatarURL string `json:"avatar_url"`
    Username  string `json:"username"`
}

IssueAuthor represents a author of the issue.

type IssueBoard Uses

type IssueBoard struct {
    ID        int          `json:"id"`
    Name      string       `json:"name"`
    Project   *Project     `json:"project"`
    Milestone *Milestone   `json:"milestone"`
    Lists     []*BoardList `json:"lists"`
}

IssueBoard represents a GitLab issue board.

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

func (IssueBoard) String Uses

func (b IssueBoard) String() string

type IssueBoardsService Uses

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/ce/api/boards.html

func (*IssueBoardsService) CreateIssueBoard Uses

func (s *IssueBoardsService) CreateIssueBoard(pid interface{}, opt *CreateIssueBoardOptions, options ...OptionFunc) (*IssueBoard, *Response, error)

CreateIssueBoard creates a new issue board.

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

func (*IssueBoardsService) CreateIssueBoardList Uses

func (s *IssueBoardsService) CreateIssueBoardList(pid interface{}, board int, opt *CreateIssueBoardListOptions, options ...OptionFunc) (*BoardList, *Response, error)

CreateIssueBoardList creates a new issue board list.

GitLab API docs: https://docs.gitlab.com/ce/api/boards.html#new-board-list

func (*IssueBoardsService) DeleteIssueBoard Uses

func (s *IssueBoardsService) DeleteIssueBoard(pid interface{}, board int, options ...OptionFunc) (*Response, error)

DeleteIssueBoard deletes an issue board.

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

func (*IssueBoardsService) DeleteIssueBoardList Uses

func (s *IssueBoardsService) DeleteIssueBoardList(pid interface{}, board, list int, options ...OptionFunc) (*Response, error)

DeleteIssueBoardList soft deletes an issue board list. Only for admins and project owners.

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

func (*IssueBoardsService) GetIssueBoard Uses

func (s *IssueBoardsService) GetIssueBoard(pid interface{}, board int, options ...OptionFunc) (*IssueBoard, *Response, error)

GetIssueBoard gets a single issue board of a project.

GitLab API docs: https://docs.gitlab.com/ce/api/boards.html#single-board

func (*IssueBoardsService) GetIssueBoardList Uses

func (s *IssueBoardsService) GetIssueBoardList(pid interface{}, board, list int, options ...OptionFunc) (*BoardList, *Response, error)

GetIssueBoardList gets a single issue board list.

GitLab API docs: https://docs.gitlab.com/ce/api/boards.html#single-board-list

func (*IssueBoardsService) GetIssueBoardLists Uses

func (s *IssueBoardsService) GetIssueBoardLists(pid interface{}, board int, opt *GetIssueBoardListsOptions, options ...OptionFunc) ([]*BoardList, *Response, error)

GetIssueBoardLists gets a list of the issue board's lists. Does not include backlog and closed lists.

GitLab API docs: https://docs.gitlab.com/ce/api/boards.html#list-board-lists

func (*IssueBoardsService) ListIssueBoards Uses

func (s *IssueBoardsService) ListIssueBoards(pid interface{}, opt *ListIssueBoardsOptions, options ...OptionFunc) ([]*IssueBoard, *Response, error)

ListIssueBoards gets a list of all issue boards in a project.

GitLab API docs: https://docs.gitlab.com/ce/api/boards.html#project-board

func (*IssueBoardsService) UpdateIssueBoard Uses

func (s *IssueBoardsService) UpdateIssueBoard(pid interface{}, board int, opt *UpdateIssueBoardOptions, options ...OptionFunc) (*IssueBoard, *Response, error)

UpdateIssueBoard update an issue board.

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

func (*IssueBoardsService) UpdateIssueBoardList Uses

func (s *IssueBoardsService) UpdateIssueBoardList(pid interface{}, board, list int, opt *UpdateIssueBoardListOptions, options ...OptionFunc) (*BoardList, *Response, error)

UpdateIssueBoardList updates the position of an existing issue board list.

GitLab API docs: https://docs.gitlab.com/ce/api/boards.html#edit-board-list

type IssueCommentEvent Uses

type IssueCommentEvent struct {
    ObjectKind string `json:"object_kind"`
    User       *User  `json:"user"`
    ProjectID  int    `json:"project_id"`
    Project    struct {
        Name              string          `json:"name"`
        Description       string          `json:"description"`
        AvatarURL         string          `json:"avatar_url"`
        GitSSHURL         string          `json:"git_ssh_url"`
        GitHTTPURL        string          `json:"git_http_url"`
        Namespace         string          `json:"namespace"`
        PathWithNamespace string          `json:"path_with_namespace"`
        DefaultBranch     string          `json:"default_branch"`
        Homepage          string          `json:"homepage"`
        URL               string          `json:"url"`
        SSHURL            string          `json:"ssh_url"`
        HTTPURL           string          `json:"http_url"`
        WebURL            string          `json:"web_url"`
        Visibility        VisibilityValue `json:"visibility"`
    }   `json:"project"`
    Repository       *Repository `json:"repository"`
    ObjectAttributes struct {
        ID           int     `json:"id"`
        Note         string  `json:"note"`
        NoteableType string  `json:"noteable_type"`
        AuthorID     int     `json:"author_id"`
        CreatedAt    string  `json:"created_at"`
        UpdatedAt    string  `json:"updated_at"`
        ProjectID    int     `json:"project_id"`
        Attachment   string  `json:"attachment"`
        LineCode     string  `json:"line_code"`
        CommitID     string  `json:"commit_id"`
        NoteableID   int     `json:"noteable_id"`
        System       bool    `json:"system"`
        StDiff       []*Diff `json:"st_diff"`
        URL          string  `json:"url"`
    }   `json:"object_attributes"`
    Issue struct {
        ID                  int      `json:"id"`
        IID                 int      `json:"iid"`
        ProjectID           int      `json:"project_id"`
        MilestoneID         int      `json:"milestone_id"`
        AuthorID            int      `json:"author_id"`
        Description         string   `json:"description"`
        State               string   `json:"state"`
        Title               string   `json:"title"`
        LastEditedAt        string   `json:"last_edit_at"`
        LastEditedByID      int      `json:"last_edited_by_id"`
        UpdatedAt           string   `json:"updated_at"`
        UpdatedByID         int      `json:"updated_by_id"`
        CreatedAt           string   `json:"created_at"`
        ClosedAt            string   `json:"closed_at"`
        DueDate             *ISOTime `json:"due_date"`
        URL                 string   `json:"url"`
        TimeEstimate        int      `json:"time_estimate"`
        Confidential        bool     `json:"confidential"`
        TotalTimeSpent      int      `json:"total_time_spent"`
        HumanTotalTimeSpent int      `json:"human_total_time_spent"`
        HumanTimeEstimate   int      `json:"human_time_estimate"`
        AssigneeIDs         []int    `json:"assignee_ids"`
        AssigneeID          int      `json:"assignee_id"`
    }   `json:"issue"`
}

IssueCommentEvent represents a comment on an issue event.

GitLab API docs: https://docs.gitlab.com/ce/user/project/integrations/webhooks.html#comment-on-issue

type IssueEvent Uses

type IssueEvent struct {
    ObjectKind string `json:"object_kind"`
    User       *User  `json:"user"`
    Project    struct {
        Name              string          `json:"name"`
        Description       string          `json:"description"`
        AvatarURL         string          `json:"avatar_url"`
        GitSSHURL         string          `json:"git_ssh_url"`
        GitHTTPURL        string          `json:"git_http_url"`
        Namespace         string          `json:"namespace"`
        PathWithNamespace string          `json:"path_with_namespace"`
        DefaultBranch     string          `json:"default_branch"`
        Homepage          string          `json:"homepage"`
        URL               string          `json:"url"`
        SSHURL            string          `json:"ssh_url"`
        HTTPURL           string          `json:"http_url"`
        WebURL            string          `json:"web_url"`
        Visibility        VisibilityValue `json:"visibility"`
    }   `json:"project"`
    Repository       *Repository `json:"repository"`
    ObjectAttributes struct {
        ID          int    `json:"id"`
        Title       string `json:"title"`
        AssigneeID  int    `json:"assignee_id"`
        AuthorID    int    `json:"author_id"`
        ProjectID   int    `json:"project_id"`
        CreatedAt   string `json:"created_at"` // Should be *time.Time (see Gitlab issue #21468)
        UpdatedAt   string `json:"updated_at"` // Should be *time.Time (see Gitlab issue #21468)
        Position    int    `json:"position"`
        BranchName  string `json:"branch_name"`
        Description string `json:"description"`
        MilestoneID int    `json:"milestone_id"`
        State       string `json:"state"`
        IID         int    `json:"iid"`
        URL         string `json:"url"`
        Action      string `json:"action"`
    }   `json:"object_attributes"`
    Assignee struct {
        Name      string `json:"name"`
        Username  string `json:"username"`
        AvatarURL string `json:"avatar_url"`
    }   `json:"assignee"`
    Assignees []struct {
        Name      string `json:"name"`
        Username  string `json:"username"`
        AvatarURL string `json:"avatar_url"`
    }   `json:"assignees"`
    Labels  []Label `json:"labels"`
    Changes struct {
        Labels struct {
            Previous []Label `json:"previous"`
            Current  []Label `json:"current"`
        }   `json:"labels"`
        UpdatedByID struct {
            Previous int `json:"previous"`
            Current  int `json:"current"`
        }   `json:"updated_by_id"`
    }   `json:"changes"`
}

IssueEvent represents a issue event.

GitLab API docs: https://docs.gitlab.com/ce/user/project/integrations/webhooks.html#issues-events

type IssueLink struct {
    SourceIssue *Issue `json:"source_issue"`
    TargetIssue *Issue `json:"target_issue"`
}

IssueLink represents a two-way relation between two issues.

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

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 Uses

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/ee/api/issue_links.html

func (s *IssueLinksService) CreateIssueLink(pid interface{}, issueIID int, opt *CreateIssueLinkOptions, options ...OptionFunc) (*IssueLink, *Response, error)

CreateIssueLink creates a two-way relation between two issues. User must be allowed to update both issues in order to succeed.

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

func (s *IssueLinksService) DeleteIssueLink(pid interface{}, issueIID, issueLinkID int, options ...OptionFunc) (*IssueLink, *Response, error)

DeleteIssueLink deletes an issue link, thus removes the two-way relationship.

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

func (*IssueLinksService) ListIssueRelations Uses

func (s *IssueLinksService) ListIssueRelations(pid interface{}, issueIID int, options ...OptionFunc) ([]*Issue, *Response, error)

ListIssueRelations gets a list of related issues of a given issue, sorted by the relationship creation datetime (ascending).

Issues will be filtered according to the user authorizations.

GitLab API docs: https://docs.gitlab.com/ee/api/issue_links.html#list-issue-relations

type IssuesService Uses

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/ce/api/issues.html

func (*IssuesService) AddSpentTime Uses

func (s *IssuesService) AddSpentTime(pid interface{}, issue int, opt *AddSpentTimeOptions, options ...OptionFunc) (*TimeStats, *Response, error)

AddSpentTime adds spent time for a single project issue.

GitLab API docs: https://docs.gitlab.com/ce/api/issues.html#add-spent-time-for-an-issue

func (*IssuesService) CreateIssue Uses

func (s *IssuesService) CreateIssue(pid interface{}, opt *CreateIssueOptions, options ...OptionFunc) (*Issue, *Response, error)

CreateIssue creates a new project issue.

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

func (*IssuesService) DeleteIssue Uses

func (s *IssuesService) DeleteIssue(pid interface{}, issue int, options ...OptionFunc) (*Response, error)

DeleteIssue deletes a single project issue.

GitLab API docs: https://docs.gitlab.com/ce/api/issues.html#delete-an-issue

func (*IssuesService) GetIssue Uses

func (s *IssuesService) GetIssue(pid interface{}, issue int, options ...OptionFunc) (*Issue, *Response, error)

GetIssue gets a single project issue.

GitLab API docs: https://docs.gitlab.com/ce/api/issues.html#single-issues

func (*IssuesService) GetTimeSpent Uses

func (s *IssuesService) GetTimeSpent(pid interface{}, issue int, options ...OptionFunc) (*TimeStats, *Response, error)

GetTimeSpent gets the spent time for a single project issue.

GitLab API docs: https://docs.gitlab.com/ce/api/issues.html#get-time-tracking-stats

func (*IssuesService) ListGroupIssues Uses

func (s *IssuesService) ListGroupIssues(pid interface{}, opt *ListGroupIssuesOptions, options ...OptionFunc) ([]*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/ce/api/issues.html#list-group-issues

func (*IssuesService) ListIssues Uses

func (s *IssuesService) ListIssues(opt *ListIssuesOptions, options ...OptionFunc) ([]*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/ce/api/issues.html#list-issues

func (*IssuesService) ListMergeRequestsClosingIssue Uses

func (s *IssuesService) ListMergeRequestsClosingIssue(pid interface{}, issue int, opt *ListMergeRequestsClosingIssueOptions, options ...OptionFunc) ([]*MergeRequest, *Response, error)

ListMergeRequestsClosingIssue gets all the merge requests that will close issue when merged.

GitLab API docs: https://docs.gitlab.com/ce/api/issues.html#list-merge-requests-that-will-close-issue-on-merge

func (*IssuesService) ListMergeRequestsRelatedToIssue Uses

func (s *IssuesService) ListMergeRequestsRelatedToIssue(pid interface{}, issue int, opt *ListMergeRequestsRelatedToIssueOptions, options ...OptionFunc) ([]*MergeRequest, *Response, error)

ListMergeRequestsRelatedToIssue gets all the merge requests that are related to the issue

GitLab API docs: https://docs.gitlab.com/ce/api/issues.html#list-merge-requests-related-to-issue

func (*IssuesService) ListProjectIssues Uses

func (s *IssuesService) ListProjectIssues(pid interface{}, opt *ListProjectIssuesOptions, options ...OptionFunc) ([]*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/ce/api/issues.html#list-project-issues

func (*IssuesService) MoveIssue Uses

func (s *IssuesService) MoveIssue(pid interface{}, issue int, opt *MoveIssueOptions, options ...OptionFunc) (*Issue, *Response, error)

MoveIssue updates an existing project issue. This function is also used to mark an issue as closed.

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

func (*IssuesService) ResetSpentTime Uses

func (s *IssuesService) ResetSpentTime(pid interface{}, issue int, options ...OptionFunc) (*TimeStats, *Response, error)

ResetSpentTime resets the spent time for a single project issue.

GitLab API docs: https://docs.gitlab.com/ce/api/issues.html#reset-spent-time-for-an-issue

func (*IssuesService) ResetTimeEstimate Uses

func (s *IssuesService) ResetTimeEstimate(pid interface{}, issue int, options ...OptionFunc) (*TimeStats, *Response, error)

ResetTimeEstimate resets the time estimate for a single project issue.

GitLab API docs: https://docs.gitlab.com/ce/api/issues.html#reset-the-time-estimate-for-an-issue

func (*IssuesService) SetTimeEstimate Uses

func (s *IssuesService) SetTimeEstimate(pid interface{}, issue int, opt *SetTimeEstimateOptions, options ...OptionFunc) (*TimeStats, *Response, error)

SetTimeEstimate sets the time estimate for a single project issue.

GitLab API docs: https://docs.gitlab.com/ce/api/issues.html#set-a-time-estimate-for-an-issue

func (*IssuesService) SubscribeToIssue Uses

func (s *IssuesService) SubscribeToIssue(pid interface{}, issue int, options ...OptionFunc) (*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/ce/api/merge_requests.html#subscribe-to-a-merge-request

func (*IssuesService) UnsubscribeFromIssue Uses

func (s *IssuesService) UnsubscribeFromIssue(pid interface{}, issue int, options ...OptionFunc) (*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/ce/api/merge_requests.html#unsubscribe-from-a-merge-request

func (*IssuesService) UpdateIssue Uses

func (s *IssuesService) UpdateIssue(pid interface{}, issue int, opt *UpdateIssueOptions, options ...OptionFunc) (*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/ce/api/issues.html#edit-issues

type JenkinsCIService Uses

type JenkinsCIService struct {
    Service
    Properties *JenkinsCIServiceProperties `json:"properties"`
}

JenkinsCIService represents Jenkins CI service settings.

GitLab API docs: https://docs.gitlab.com/ee/api/services.html#jenkins-ci

type JenkinsCIServiceProperties Uses

type JenkinsCIServiceProperties struct {
    URL         string `json:"jenkins_url,omitempty"`
    ProjectName string `json:"project_name,omitempty"`
    Username    string `json:"username,omitempty"`
}

JenkinsCIServiceProperties represents Jenkins CI specific properties.

GitLab API docs: https://docs.gitlab.com/ee/api/services.html#jenkins-ci

type JiraService Uses

type JiraService struct {
    Service
    Properties *JiraServiceProperties `json:"properties"`
}

JiraService represents Jira service settings.

GitLab API docs: https://docs.gitlab.com/ce/api/services.html#jira

type JiraServiceProperties Uses

type JiraServiceProperties struct {
    URL                   string `json:"url,omitempty"`
    APIURL                string `json:"api_url,omitempty"`
    ProjectKey            string `json:"project_key,omitempty" `
    Username              string `json:"username,omitempty" `
    Password              string `json:"password,omitempty" `
    JiraIssueTransitionID string `json:"jira_issue_transition_id,omitempty"`
}

JiraServiceProperties represents Jira specific properties.

GitLab API docs: https://docs.gitlab.com/ce/api/services.html#jira

func (*JiraServiceProperties) UnmarshalJSON Uses

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 Uses

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"`
    Duration          float64    `json:"duration"`
    ArtifactsExpireAt *time.Time `json:"artifacts_expire_at"`
    ID                int        `json:"id"`
    Name              string     `json:"name"`
    Pipeline          struct {
        ID     int    `json:"id"`
        Ref    string `json:"ref"`
        Sha    string `json:"sha"`
        Status string `json:"status"`
    }   `json:"pipeline"`
    Ref       string `json:"ref"`
    Artifacts []struct {
        FileType   string `json:"file_type"`
        Filename   string `json:"filename"`
        Size       int    `json:"size"`
        FileFormat string `json:"file_format"`
    }   `json:"artifacts"`
    ArtifactsFile struct {
        Filename string `json:"filename"`
        Size     int    `json:"size"`
    }   `json:"artifacts_file"`
    Runner struct {
        ID          int    `json:"id"`
        Description string `json:"description"`
        Active      bool   `json:"active"`
        IsShared    bool   `json:"is_shared"`
        Name        string `json:"name"`
    }   `json:"runner"`
    Stage  string `json:"stage"`
    Status string `json:"status"`
    Tag    bool   `json:"tag"`
    WebURL string `json:"web_url"`
    User   *User  `json:"user"`
}

Job represents a ci build.

GitLab API docs: https://docs.gitlab.com/ce/api/jobs.html

type JobEvent Uses

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

JobEvent represents a job event.

GitLab API docs: TODO: link to docs instead of src once they are published. https://gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/gitlab/data_builder/build.rb

type JobStats Uses

type JobStats struct {
    Jobs struct {
        Processed int `json:"processed"`
        Failed    int `json:"failed"`
        Enqueued  int `json:"enqueued"`
    } `json:"jobs"`
}

JobStats represents the GitLab sidekiq job stats.

GitLab API docs: https://docs.gitlab.com/ce/api/sidekiq_metrics.html#get-the-current-job-statistics

type JobsService Uses

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/ce/api/jobs.html

func (*JobsService) CancelJob Uses

func (s *JobsService) CancelJob(pid interface{}, jobID int, options ...OptionFunc) (*Job, *Response, error)

CancelJob cancels a single job of a project.

GitLab API docs: https://docs.gitlab.com/ce/api/jobs.html#cancel-a-job

func (*JobsService) DownloadArtifactsFile Uses

func (s *JobsService) DownloadArtifactsFile(pid interface{}, refName string, opt *DownloadArtifactsFileOptions, options ...OptionFunc) (io.Reader, *Response, error)

DownloadArtifactsFile download the artifacts file from the given reference name and job provided the job finished successfully.

GitLab API docs: https://docs.gitlab.com/ce/api/jobs.html#download-the-artifacts-file

func (*JobsService) DownloadSingleArtifactsFile Uses

func (s *JobsService) DownloadSingleArtifactsFile(pid interface{}, jobID int, artifactPath string, options ...OptionFunc) (io.Reader, *Response, error)

DownloadSingleArtifactsFile download a file from the artifacts from the given reference name and job provided the job finished successfully. Only a single file is going to be extracted from the archive and streamed to a client.

GitLab API docs: https://docs.gitlab.com/ce/api/jobs.html#download-a-single-artifact-file

func (*JobsService) EraseJob Uses

func (s *JobsService) EraseJob(pid interface{}, jobID int, options ...OptionFunc) (*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/ce/api/jobs.html#erase-a-job

func (*JobsService) GetJob Uses

func (s *JobsService) GetJob(pid interface{}, jobID int, options ...OptionFunc) (*Job, *Response, error)

GetJob gets a single job of a project.

GitLab API docs: https://docs.gitlab.com/ce/api/jobs.html#get-a-single-job

func (*JobsService) GetJobArtifacts Uses

func (s *JobsService) GetJobArtifacts(pid interface{}, jobID int, options ...OptionFunc) (io.Reader, *Response, error)

GetJobArtifacts get jobs artifacts of a project

GitLab API docs: https://docs.gitlab.com/ce/api/jobs.html#get-job-artifacts

func (*JobsService) GetTraceFile Uses

func (s *JobsService) GetTraceFile(pid interface{}, jobID int, options ...OptionFunc) (io.Reader, *Response, error)

GetTraceFile gets a trace of a specific job of a project

GitLab API docs: https://docs.gitlab.com/ce/api/jobs.html#get-a-trace-file

func (*JobsService) KeepArtifacts Uses

func (s *JobsService) KeepArtifacts(pid interface{}, jobID int, options ...OptionFunc) (*Job, *Response, error)

KeepArtifacts prevents artifacts from being deleted when expiration is set.

GitLab API docs: https://docs.gitlab.com/ce/api/jobs.html#keep-artifacts

func (*JobsService) ListPipelineJobs Uses

func (s *JobsService) ListPipelineJobs(pid interface{}, pipelineID int, opts *ListJobsOptions, options ...OptionFunc) ([]*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/ce/api/jobs.html#list-pipeline-jobs

func (*JobsService) ListProjectJobs Uses

func (s *JobsService) ListProjectJobs(pid interface{}, opts *ListJobsOptions, options ...OptionFunc) ([]Job, *Response, error)

ListProjectJobs gets a list of jobs in a project.

The scope of jobs to show, one or array of: created, pending, running, failed, success, canceled, skipped; showing all jobs if none provided

GitLab API docs: https://docs.gitlab.com/ce/api/jobs.html#list-project-jobs

func (*JobsService) PlayJob Uses

func (s *JobsService) PlayJob(pid interface{}, jobID int, options ...OptionFunc) (*Job, *Response, error)

PlayJob triggers a manual action to start a job.

GitLab API docs: https://docs.gitlab.com/ce/api/jobs.html#play-a-job

func (*JobsService) RetryJob Uses

func (s *JobsService) RetryJob(pid interface{}, jobID int, options ...OptionFunc) (*Job, *Response, error)

RetryJob retries a single job of a project

GitLab API docs: https://docs.gitlab.com/ce/api/jobs.html#retry-a-job

type Key Uses

type Key struct {
    ID        int        `json:"id"`
    Title     string     `json:"title"`
    Key       string     `json:"key"`
    CreatedAt *time.Time `json:"created_at"`
    User      User       `json:"user"`
}

Key represents a GitLab user's SSH key.

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

type KeysService Uses

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/ee/api/keys.html

func (*KeysService) GetKeyWithUser Uses

func (s *KeysService) GetKeyWithUser(key int, options ...OptionFunc) (*Key, *Response, error)

GetKeyWithUser gets a single key by id along with the associated user information.

GitLab API docs: https://docs.gitlab.com/ee/api/keys.html#get-ssh-key-with-user-by-id-of-an-ssh-key

type Label Uses

type Label struct {
    ID                     int    `json:"id"`
    Name                   string `json:"name"`
    Color                  string `json:"color"`
    TextColor              string `json:"text_color"`
    Description            string `json:"description"`
    OpenIssuesCount        int    `json:"open_issues_count"`
    ClosedIssuesCount      int    `json:"closed_issues_count"`
    OpenMergeRequestsCount int    `json:"open_merge_requests_count"`
    Subscribed             bool   `json:"subscribed"`
    Priority               int    `json:"priority"`
    IsProjectLabel         bool   `json:"is_project_label"`
}

Label represents a GitLab label.

GitLab API docs: https://docs.gitlab.com/ce/api/labels.html

func (Label) String Uses

func (l Label) String() string

func (*Label) UnmarshalJSON Uses

func (l *Label) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

type LabelEvent Uses

type LabelEvent struct {
    ID           int        `json:"id"`
    Action       string     `json:"action"`
    CreatedAt    *time.Time `json:"created_at"`
    ResourceType string     `json:"resource_type"`
    ResourceID   int        `json:"resource_id"`
    User         struct {
        ID        int    `json:"id"`
        Name      string `json:"name"`
        Username  string `json:"username"`
        State     string `json:"state"`
        AvatarURL string `json:"avatar_url"`
        WebURL    string `json:"web_url"`
    }   `json:"user"`
    Label struct {
        ID          int    `json:"id"`
        Name        string `json:"name"`
        Color       string `json:"color"`
        TextColor   string `json:"text_color"`
        Description string `json:"description"`
    }   `json:"label"`
}

LabelEvent represents a resource label event.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_label_events.html#get-single-issue-label-event

type Labels Uses

type Labels []string

Labels is a custom type with specific marshaling characteristics.

func (*Labels) MarshalJSON Uses

func (l *Labels) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

type LabelsService Uses

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/ce/api/labels.html

func (*LabelsService) CreateLabel Uses

func (s *LabelsService) CreateLabel(pid interface{}, opt *CreateLabelOptions, options ...OptionFunc) (*Label, *Response, error)

CreateLabel creates a new label for given repository with given name and color.

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

func (*LabelsService) DeleteLabel Uses

func (s *LabelsService) DeleteLabel(pid interface{}, opt *DeleteLabelOptions, options ...OptionFunc) (*Response, error)

DeleteLabel deletes a label given by its name.

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

func (*LabelsService) ListLabels Uses

func (s *LabelsService) ListLabels(pid interface{}, opt *ListLabelsOptions, options ...OptionFunc) ([]*Label, *Response, error)

ListLabels gets all labels for given project.

GitLab API docs: https://docs.gitlab.com/ce/api/labels.html#list-labels

func (*LabelsService) SubscribeToLabel Uses

func (s *LabelsService) SubscribeToLabel(pid interface{}, labelID interface{}, options ...OptionFunc) (*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/ce/api/labels.html#subscribe-to-a-label

func (*LabelsService) UnsubscribeFromLabel Uses

func (s *LabelsService) UnsubscribeFromLabel(pid interface{}, labelID interface{}, options ...OptionFunc) (*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/ce/api/labels.html#unsubscribe-from-a-label

func (*LabelsService) UpdateLabel Uses

func (s *LabelsService) UpdateLabel(pid interface{}, opt *UpdateLabelOptions, options ...OptionFunc) (*Label, *Response, error)

UpdateLabel updates an existing label with new name or now color. At least one parameter is required, to update the label.

GitLab API docs: https://docs.gitlab.com/ce/api/labels.html#edit-an-existing-label

type License Uses

type License struct {
    StartsAt  *ISOTime `json:"starts_at"`
    ExpiresAt *ISOTime `json:"expires_at"`
    Licensee  struct {
        Name    string `json:"Name"`
        Company string `json:"Company"`
        Email   string `json:"Email"`
    }   `json:"licensee"`
    UserLimit   int `json:"user_limit"`
    ActiveUsers int `json:"active_users"`
    AddOns      struct {
        GitLabFileLocks int `json:"GitLabFileLocks"`
    }   `json:"add_ons"`
}

License represents a GitLab license.

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

func (License) String Uses

func (l License) String() string

type LicenseService Uses

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/ee/api/license.html

func (*LicenseService) AddLicense Uses

func (s *LicenseService) AddLicense(opt *AddLicenseOptions, options ...OptionFunc) (*License, *Response, error)

AddLicense adds a new license.

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

func (*LicenseService) GetLicense Uses

func (s *LicenseService) GetLicense() (*License, *Response, error)

GetLicense retrieves information about the current license.

GitLab API docs: https://docs.gitlab.com/ee/api/license.html#retrieve-information-about-the-current-license

type LicenseTemplate Uses

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/ce/api/templates/licenses.html

type LicenseTemplatesService Uses

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/ce/api/templates/licenses.html

func (*LicenseTemplatesService) GetLicenseTemplate Uses

func (s *LicenseTemplatesService) GetLicenseTemplate(template string, opt *GetLicenseTemplateOptions, options ...OptionFunc) (*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/ce/api/templates/licenses.html#single-license-template

func (*LicenseTemplatesService) ListLicenseTemplates Uses

func (s *LicenseTemplatesService) ListLicenseTemplates(opt *ListLicenseTemplatesOptions, options ...OptionFunc) ([]*LicenseTemplate, *Response, error)

ListLicenseTemplates get all license templates.

GitLab API docs: https://docs.gitlab.com/ce/api/templates/licenses.html#list-license-templates

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"`
}

Links represents a project web links for self, issues, merge_requests, repo_branches, labels, events, members.

type LintResult Uses

type LintResult struct {
    Status string   `json:"status"`
    Errors []string `json:"errors"`
}

LintResult represents the linting results.

GitLab API docs: https://docs.gitlab.com/ce/api/lint.html

type ListAccessRequestsOptions Uses

type ListAccessRequestsOptions ListOptions

ListAccessRequestsOptions represents the available ListProjectAccessRequests() or ListGroupAccessRequests() options.

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

type ListAwardEmojiOptions Uses

type ListAwardEmojiOptions ListOptions

ListAwardEmojiOptions represents the available options for listing emoji for each resources

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

type ListBranchesOptions Uses

type ListBranchesOptions struct {
    ListOptions
    Search *string `url:"search,omitempty" json:"search,omitempty"`
}

ListBranchesOptions represents the available ListBranches() options.

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

type ListBroadcastMessagesOptions Uses

type ListBroadcastMessagesOptions ListOptions

ListBroadcastMessagesOptions represents the available ListBroadcastMessages() options.

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

type ListCIYMLTemplatesOptions Uses

type ListCIYMLTemplatesOptions ListOptions

ListCIYMLTemplatesOptions represents the available ListAllTemplates() options.

GitLab API docs: https://docs.gitlab.com/ce/api/templates/gitignores.html#list-gitignore-templates

type ListCommitDiscussionsOptions Uses

type ListCommitDiscussionsOptions ListOptions

ListCommitDiscussionsOptions represents the available ListCommitDiscussions() options.

GitLab API docs: https://docs.gitlab.com/ce/api/discussions.html#list-project-commit-discussion-items

type ListCommitsOptions Uses

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"`
    All       *bool      `url:"all,omitempty" json:"all,omitempty"`
    WithStats *bool      `url:"with_stats,omitempty" json:"with_stats,omitempty"`
}

ListCommitsOptions represents the available ListCommits() options.

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

type ListContributionEventsOptions Uses

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"`
}

ListContributionEventsOptions represents the options for GetUserContributionEvents

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

type ListContributorsOptions Uses

type ListContributorsOptions ListOptions

ListContributorsOptions represents the available ListContributors() options.

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

type ListEmailsForUserOptions Uses

type ListEmailsForUserOptions ListOptions

ListEmailsForUserOptions represents the available ListEmailsForUser() options.

GitLab API docs: https://docs.gitlab.com/ce/api/users.html#list-emails-for-user

type ListEnvironmentsOptions Uses

type ListEnvironmentsOptions ListOptions

ListEnvironmentsOptions represents the available ListEnvironments() options.

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

type ListEpicNotesOptions Uses

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.

GitLab API docs: https://docs.gitlab.com/ee/api/notes.html#list-all-epic-notes

type ListGroupBadgesOptions Uses

type ListGroupBadgesOptions ListOptions

ListGroupBadgesOptions represents the available ListGroupBadges() options.

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

type ListGroupEpicDiscussionsOptions Uses

type ListGroupEpicDiscussionsOptions ListOptions

ListGroupEpicDiscussionsOptions represents the available ListEpicDiscussions() options.

GitLab API docs: https://docs.gitlab.com/ce/api/discussions.html#list-group-epic-discussion-items

type ListGroupEpicsOptions Uses

type ListGroupEpicsOptions struct {
    ListOptions
    State    *string `url:"state,omitempty" json:"state,omitempty"`
    Labels   Labels  `url:"labels,comma,omitempty" json:"labels,omitempty"`
    AuthorID *int    `url:"author_id,omitempty" json:"author_id,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"`
}

ListGroupEpicsOptions represents the available ListGroupEpics() options.

GitLab API docs: https://docs.gitlab.com/ee/api/epics.html#list-epics-for-a-group

type ListGroupIssueBoardListsOptions Uses

type ListGroupIssueBoardListsOptions ListOptions

ListGroupIssueBoardListsOptions represents the available ListGroupIssueBoardLists() options.

GitLab API docs: https://docs.gitlab.com/ce/api/group_boards.html#list-board-lists

type ListGroupIssueBoardsOptions Uses

type ListGroupIssueBoardsOptions ListOptions

ListGroupIssueBoardsOptions represents the available ListGroupIssueBoards() options.

GitLab API docs: https://docs.gitlab.com/ce/api/group_boards.html#group-board

type ListGroupIssuesOptions Uses

type ListGroupIssuesOptions struct {
    ListOptions
    State           *string    `url:"state,omitempty" json:"state,omitempty"`
    Labels          Labels     `url:"labels,comma,omitempty" json:"labels,omitempty"`
    IIDs            []int      `url:"iids[],omitempty" json:"iids,omitempty"`
    Milestone       *string    `url:"milestone,omitempty" json:"milestone,omitempty"`
    Scope           *string    `url:"scope,omitempty" json:"scope,omitempty"`
    AuthorID        *int       `url:"author_id,omitempty" json:"author_id,omitempty"`
    AssigneeID      *int       `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
    MyReactionEmoji *string    `url:"my_reaction_emoji,omitempty" json:"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"`
    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"`
}

ListGroupIssuesOptions represents the available ListGroupIssues() options.

GitLab API docs: https://docs.gitlab.com/ce/api/issues.html#list-group-issues

type ListGroupLabelsOptions Uses

type ListGroupLabelsOptions ListOptions

ListGroupLabelsOptions represents the available ListGroupLabels() options.

GitLab API docs: https://docs.gitlab.com/ce/api/labels.html#list-labels

type ListGroupMembersOptions Uses

type ListGroupMembersOptions struct {
    ListOptions
    Query *string `url:"query,omitempty" json:"query,omitempty"`
}

ListGroupMembersOptions represents the available ListGroupMembers() and ListAllGroupMembers() options.

GitLab API docs: https://docs.gitlab.com/ce/api/members.html#list-all-members-of-a-group-or-project

type ListGroupMergeRequestsOptions Uses

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          *Labels    `url:"labels,omitempty" json:"labels,omitempty"`
    CreatedAfter    *time.Time `url:"created_after,omitempty" json:"created_after,omitempty"`
    CreatedBefore   *time.Time `url:"created_before,omitempty" json:"created_before,omitempty"`
    UpdatedAfter    *time.Time `url:"updated_after,omitempty" json:"updated_after,omitempty"`
    UpdatedBefore   *time.Time `url:"updated_before,omitempty" json:"updated_before,omitempty"`
    Scope           *string    `url:"scope,omitempty" json:"scope,omitempty"`
    AuthorID        *int       `url:"author_id,omitempty" json:"author_id,omitempty"`
    AssigneeID      *int       `url:"assignee_id,omitempty" json:"assignee_id,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"`
}

ListGroupMergeRequestsOptions represents the available ListGroupMergeRequests() options.

GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#list-group-merge-requests

type ListGroupMilestonesOptions Uses

type ListGroupMilestonesOptions struct {
    ListOptions
    IIDs   []int  `url:"iids,omitempty" json:"iids,omitempty"`
    State  string `url:"state,omitempty" json:"state,omitempty"`
    Search string `url:"search,omitempty" json:"search,omitempty"`
}

ListGroupMilestonesOptions represents the available ListGroupMilestones() options.

GitLab API docs: https://docs.gitlab.com/ce/api/group_milestones.html#list-group-milestones

type ListGroupProjectsOptions Uses

type ListGroupProjectsOptions struct {
    ListOptions
    Archived                 *bool            `url:"archived,omitempty" json:"archived,omitempty"`
    Visibility               *VisibilityValue `url:"visibility,omitempty" json:"visibility,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"`
    Simple                   *bool            `url:"simple,omitempty" json:"simple,omitempty"`
    Owned                    *bool            `url:"owned,omitempty" json:"owned,omitempty"`
    Starred                  *bool            `url:"starred,omitempty" json:"starred,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"`
    WithShared               *bool            `url:"with_shared,omitempty" json:"with_shared,omitempty"`
    IncludeSubgroups         *bool            `url:"include_subgroups,omitempty" json:"include_subgroups,omitempty"`
    WithCustomAttributes     *bool            `url:"with_custom_attributes,omitempty" json:"with_custom_attributes,omitempty"`
}

ListGroupProjectsOptions represents the available ListGroupProjects() options.

GitLab API docs: https://docs.gitlab.com/ce/api/groups.html#list-a-group-39-s-projects

type ListGroupVariablesOptions Uses

type ListGroupVariablesOptions ListOptions

ListGroupVariablesOptions represents the available options for listing variables for a group.

GitLab API docs: https://docs.gitlab.com/ee/api/group_level_variables.html#list-group-variables

type ListGroupsOptions Uses

type ListGroupsOptions struct {
    ListOptions
    AllAvailable         *bool             `url:"all_available,omitempty" json:"all_available,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"`
    SkipGroups           []int             `url:"skip_groups,omitempty" json:"skip_groups,omitempty"`
    Sort                 *string           `url:"sort,omitempty" json:"sort,omitempty"`
    Statistics           *bool             `url:"statistics,omitempty" json:"statistics,omitempty"`
    WithCustomAttributes *bool             `url:"with_custom_attributes,omitempty" json:"with_custom_attributes,omitempty"`
}

ListGroupsOptions represents the available ListGroups() options.

GitLab API docs: https://docs.gitlab.com/ce/api/groups.html#list-project-groups

type ListIssueBoardsOptions Uses

type ListIssueBoardsOptions ListOptions

ListIssueBoardsOptions represents the available ListIssueBoards() options.

GitLab API docs: https://docs.gitlab.com/ce/api/boards.html#project-board

type ListIssueDiscussionsOptions Uses

type ListIssueDiscussionsOptions ListOptions

ListIssueDiscussionsOptions represents the available ListIssueDiscussions() options.

GitLab API docs: https://docs.gitlab.com/ce/api/discussions.html#list-project-issue-discussion-items

type ListIssueNotesOptions Uses

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/ce/api/notes.html#list-project-issue-notes

type ListIssuesOptions Uses

type ListIssuesOptions struct {
    ListOptions
    State            *string    `url:"state,omitempty" json:"state,omitempty"`
    Labels           Labels     `url:"labels,comma,omitempty" json:"labels,omitempty"`
    WithLabelDetails *bool      `url:"with_labels_details,omitempty" json:"with_labels_details,omitempty"`
    Milestone        *string    `url:"milestone,omitempty" json:"milestone,omitempty"`
    Scope            *string    `url:"scope,omitempty" json:"scope,omitempty"`
    AuthorID         *int       `url:"author_id,omitempty" json:"author_id,omitempty"`
    AssigneeID       *int       `url:"assignee_id,omitempty" json:"assignee_id,omitempty"`
    MyReactionEmoji  *string    `url:"my_reaction_emoji,omitempty" json:"my_reaction_emoji,omitempty"`
    IIDs             []int      `url:"iids[],omitempty" json:"iids,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"`
    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"`
}

ListIssuesOptions represents the available ListIssues() options.

GitLab API docs: https://docs.gitlab.com/ce/api/issues.html#list-issues

type ListJobsOptions Uses

type ListJobsOptions struct {
    ListOptions
    Scope []BuildStateValue `url:"scope[],omitempty" json:"scope,omitempty"`
}

ListJobsOptions are options for two list apis

type ListLabelEventsOptions Uses

type ListLabelEventsOptions struct {
    ListOptions
}

ListLabelEventsOptions represents the options for all resource label events list methods.

GitLab API docs: https://docs.gitlab.com/ee/api/resource_label_events.html#list-project-issue-label-events

type ListLabelsOptions Uses

type ListLabelsOptions ListOptions

ListLabelsOptions represents the available ListLabels() options.

GitLab API docs: https://docs.gitlab.com/ce/api/labels.html#list-labels

type ListLicenseTemplatesOptions Uses

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/ce/api/templates/licenses.html#list-license-templates

type ListMergeRequestDiscussionsOptions Uses

type ListMergeRequestDiscussionsOptions ListOptions

ListMergeRequestDiscussionsOptions represents the available ListMergeRequestDiscussions() options.

GitLab API docs: https://docs.gitlab.com/ce/api/discussions.html#list-project-merge-request-discussion-items

type ListMergeRequestNotesOptions Uses

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/ce/api/notes.html#list-all-merge-request-notes

type ListMergeRequestsClosingIssueOptions Uses

type ListMergeRequestsClosingIssueOptions ListOptions

ListMergeRequestsClosingIssueOptions represents the available ListMergeRequestsClosingIssue() options.

GitLab API docs: https://docs.gitlab.com/ce/api/issues.html#list-merge-requests-that-will-close-issue-on-merge

type ListMergeRequestsOptions Uses

type ListMergeRequestsOptions 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          Labels     `url:"labels,comma,omitempty" json:"labels,omitempty"`
    CreatedAfter    *time.Time `url:"created_after,omitempty" json:"created_after,omitempty"`
    CreatedBefore   *time.Time `url:"created_before,omitempty" json:"created_before,omitempty"`
    UpdatedAfter    *time.Time `url:"updated_after,omitempty" json:"updated_after,omitempty"`
    UpdatedBefore   *time.Time `url:"updated_before,omitempty" json:"updated_before,omitempty"`
    Scope           *string    `url:"scope,omitempty" json:"scope,omitempty"`
    AuthorID        *int       `url:"author_id,omitempty" json:"author_id,omitempty"`
    AssigneeID      *int       `url:"assignee_id,omitempty" json:"assignee_id,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"`
    WIP             *string    `url:"wip,omitempty" json:"wip,omitempty"`
}

ListMergeRequestsOptions represents the available ListMergeRequests() options.

GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#list-merge-requests

type ListMergeRequestsRelatedToIssueOptions Uses

type ListMergeRequestsRelatedToIssueOptions ListOptions

ListMergeRequestsRelatedToIssueOptions represents the available ListMergeRequestsRelatedToIssue() options.

GitLab API docs: https://docs.gitlab.com/ce/api/issues.html#list-merge-requests-related-to-issue

type ListMilestonesOptions Uses

type ListMilestonesOptions struct {
    ListOptions
    IIDs   []int   `url:"iids,omitempty" json:"iids,omitempty"`
    Title  *string `url:"title,omitempty" json:"title,omitempty"`
    State  *string `url:"state,omitempty" json:"state,omitempty"`
    Search *string `url:"search,omitempty" json:"search,omitempty"`
}

ListMilestonesOptions represents the available ListMilestones() options.

GitLab API docs: https://docs.gitlab.com/ce/api/milestones.html#list-project-milestones

type ListNamespacesOptions Uses

type ListNamespacesOptions struct {
    ListOptions
    Search *string `url:"search,omitempty" json:"search,omitempty"`
}

ListNamespacesOptions represents the available ListNamespaces() options.

GitLab API docs: https://docs.gitlab.com/ce/api/namespaces.html#list-namespaces

type ListOptions Uses

type ListOptions struct {
    // For paginated result sets, page of results to retrieve.
    Page int `url:"page,omitempty" json:"page,omitempty"`

    // For paginated result sets, the number of results to include per page.
    PerPage int `url:"per_page,omitempty" json:"per_page,omitempty"`
}

ListOptions specifies the optional parameters to various List methods that support pagination.

type ListPagesDomainsOptions Uses

type ListPagesDomainsOptions ListOptions

ListPagesDomainsOptions represents the available ListPagesDomains() options.

GitLab API docs: https://docs.gitlab.com/ce/api/pages_domains.html#list-pages-domains

type ListPipelineSchedulesOptions Uses