Documentation ¶
Index ¶
- func Bool(v bool) *bool
- func CheckResponse(r *http.Response) error
- func Int(v int) *int
- func String(v string) *string
- func Stringify(message interface{}) string
- type AcceptMergeRequestOptions
- type AccessLevelValue
- type AddDeployKeyOptions
- type AddEmailOptions
- type AddGroupMemberOptions
- type AddHookOptions
- type AddPipelineTriggerOptions
- type AddProjectHookOptions
- type AddProjectMemberOptions
- type AddSSHKeyOptions
- type AddSpentTimeOptions
- type ArchiveOptions
- type Author
- type Branch
- type BranchesService
- func (s *BranchesService) CreateBranch(pid interface{}, opt *CreateBranchOptions, options ...OptionFunc) (*Branch, *Response, error)
- func (s *BranchesService) DeleteBranch(pid interface{}, branch string, options ...OptionFunc) (*Response, error)
- func (s *BranchesService) DeleteMergedBranches(pid interface{}, options ...OptionFunc) (*Response, error)
- func (s *BranchesService) GetBranch(pid interface{}, branch string, options ...OptionFunc) (*Branch, *Response, error)
- func (s *BranchesService) ListBranches(pid interface{}, opts *ListBranchesOptions, options ...OptionFunc) ([]*Branch, *Response, error)
- func (s *BranchesService) ProtectBranch(pid interface{}, branch string, opts *ProtectBranchOptions, ...) (*Branch, *Response, error)
- func (s *BranchesService) UnprotectBranch(pid interface{}, branch string, options ...OptionFunc) (*Branch, *Response, error)
- type BuildEvent
- type BuildState
- type BuildVariable
- type BuildVariablesService
- func (s *BuildVariablesService) CreateBuildVariable(pid interface{}, opt *CreateBuildVariableOptions, options ...OptionFunc) (*BuildVariable, *Response, error)
- func (s *BuildVariablesService) GetBuildVariable(pid interface{}, key string, options ...OptionFunc) (*BuildVariable, *Response, error)
- func (s *BuildVariablesService) ListBuildVariables(pid interface{}, opts *ListBuildVariablesOptions, options ...OptionFunc) ([]*BuildVariable, *Response, error)
- func (s *BuildVariablesService) RemoveBuildVariable(pid interface{}, key string, options ...OptionFunc) (*Response, error)
- func (s *BuildVariablesService) UpdateBuildVariable(pid interface{}, key string, opt *UpdateBuildVariableOptions, ...) (*BuildVariable, *Response, error)
- type CherryPickCommitOptions
- type Client
- type Commit
- type CommitAction
- type CommitComment
- type CommitCommentEvent
- type CommitStats
- type CommitStatus
- type CommitsService
- func (s *CommitsService) CherryPickCommit(pid interface{}, sha string, opt *CherryPickCommitOptions, ...) (*Commit, *Response, error)
- func (s *CommitsService) CreateCommit(pid interface{}, opt *CreateCommitOptions, options ...OptionFunc) (*Commit, *Response, error)
- func (s *CommitsService) GetCommit(pid interface{}, sha string, options ...OptionFunc) (*Commit, *Response, error)
- func (s *CommitsService) GetCommitComments(pid interface{}, sha string, options ...OptionFunc) ([]*CommitComment, *Response, error)
- func (s *CommitsService) GetCommitDiff(pid interface{}, sha string, options ...OptionFunc) ([]*Diff, *Response, error)
- func (s *CommitsService) GetCommitStatuses(pid interface{}, sha string, opt *GetCommitStatusesOptions, ...) ([]*CommitStatus, *Response, error)
- func (s *CommitsService) ListCommits(pid interface{}, opt *ListCommitsOptions, options ...OptionFunc) ([]*Commit, *Response, error)
- func (s *CommitsService) PostCommitComment(pid interface{}, sha string, opt *PostCommitCommentOptions, ...) (*CommitComment, *Response, error)
- func (s *CommitsService) SetCommitStatus(pid interface{}, sha string, opt *SetCommitStatusOptions, ...) (*CommitStatus, *Response, error)
- type Compare
- type CompareOptions
- type Contributor
- type CreateBranchOptions
- type CreateBuildVariableOptions
- type CreateCommitOptions
- type CreateEnvironmentOptions
- type CreateFileOptions
- type CreateGroupOptions
- type CreateImpersonationTokenOptions
- type CreateIssueNoteOptions
- type CreateIssueOptions
- type CreateLabelOptions
- type CreateMergeRequestNoteOptions
- type CreateMergeRequestOptions
- type CreateMilestoneOptions
- type CreatePipelineOptions
- type CreateProjectForUserOptions
- type CreateProjectOptions
- type CreateProjectSnippetOptions
- type CreateSnippetNoteOptions
- type CreateSnippetOptions
- type CreateTagOptions
- type CreateUserOptions
- type CreateWikiPageOptions
- type DeleteFileOptions
- type DeleteLabelOptions
- type DeployKey
- type DeployKeysService
- func (s *DeployKeysService) AddDeployKey(pid interface{}, opt *AddDeployKeyOptions, options ...OptionFunc) (*DeployKey, *Response, error)
- func (s *DeployKeysService) DeleteDeployKey(pid interface{}, deployKey int, options ...OptionFunc) (*Response, error)
- func (s *DeployKeysService) EnableDeployKey(pid interface{}, deployKey int, options ...OptionFunc) (*DeployKey, *Response, error)
- func (s *DeployKeysService) GetDeployKey(pid interface{}, deployKey int, options ...OptionFunc) (*DeployKey, *Response, error)
- func (s *DeployKeysService) ListAllDeployKeys(options ...OptionFunc) ([]*DeployKey, *Response, error)
- func (s *DeployKeysService) ListProjectDeployKeys(pid interface{}, options ...OptionFunc) ([]*DeployKey, *Response, error)
- type Diff
- type DroneCIService
- type DroneCIServiceProperties
- type EditEnvironmentOptions
- type EditGroupMemberOptions
- type EditPipelineTriggerOptions
- type EditProjectHookOptions
- type EditProjectMemberOptions
- type EditProjectOptions
- type EditWikiPageOptions
- type Email
- type Environment
- type EnvironmentsService
- func (s *EnvironmentsService) CreateEnvironment(pid interface{}, opt *CreateEnvironmentOptions, options ...OptionFunc) (*Environment, *Response, error)
- func (s *EnvironmentsService) DeleteEnvironment(pid interface{}, environment int, options ...OptionFunc) (*Response, error)
- func (s *EnvironmentsService) EditEnvironment(pid interface{}, environment int, opt *EditEnvironmentOptions, ...) (*Environment, *Response, error)
- func (s *EnvironmentsService) ListEnvironments(pid interface{}, opts *ListEnvironmentsOptions, options ...OptionFunc) ([]*Environment, *Response, error)
- type ErrorResponse
- type Feature
- type FeaturesService
- type File
- type FileAction
- type FileInfo
- type ForkParent
- type Gate
- type GetAllImpersonationTokensOptions
- type GetCommitStatusesOptions
- type GetFileOptions
- type GetMilestoneIssuesOptions
- type GetProjectEventsOptions
- type GetRawFileOptions
- type GetSessionOptions
- type Group
- type GroupAccess
- type GroupMember
- type GroupMembersService
- func (s *GroupMembersService) AddGroupMember(gid interface{}, opt *AddGroupMemberOptions, options ...OptionFunc) (*GroupMember, *Response, error)
- func (s *GroupMembersService) EditGroupMember(gid interface{}, user int, opt *EditGroupMemberOptions, options ...OptionFunc) (*GroupMember, *Response, error)
- func (s *GroupMembersService) GetGroupMember(gid interface{}, user int, options ...OptionFunc) (*GroupMember, *Response, error)
- func (s *GroupMembersService) RemoveGroupMember(gid interface{}, user int, options ...OptionFunc) (*Response, error)
- type GroupsService
- func (s *GroupsService) CreateGroup(opt *CreateGroupOptions, options ...OptionFunc) (*Group, *Response, error)
- func (s *GroupsService) DeleteGroup(gid interface{}, options ...OptionFunc) (*Response, error)
- func (s *GroupsService) GetGroup(gid interface{}, options ...OptionFunc) (*Group, *Response, error)
- func (s *GroupsService) ListGroupMembers(gid interface{}, opt *ListGroupMembersOptions, options ...OptionFunc) ([]*GroupMember, *Response, error)
- func (s *GroupsService) ListGroupProjects(gid interface{}, opt *ListGroupProjectsOptions, options ...OptionFunc) ([]*Project, *Response, error)
- func (s *GroupsService) ListGroups(opt *ListGroupsOptions, options ...OptionFunc) ([]*Group, *Response, error)
- func (s *GroupsService) SearchGroup(query string, options ...OptionFunc) ([]*Group, *Response, error)
- func (s *GroupsService) TransferGroup(gid interface{}, project int, options ...OptionFunc) (*Group, *Response, error)
- func (s *GroupsService) UpdateGroup(gid interface{}, opt *UpdateGroupOptions, options ...OptionFunc) (*Group, *Response, error)
- type Hook
- type HookEvent
- type ISOTime
- type ImpersonationToken
- type Issue
- type IssueCommentEvent
- type IssueEvent
- type IssuesService
- func (s *IssuesService) AddSpentTime(pid interface{}, issue int, opt *AddSpentTimeOptions, options ...OptionFunc) (*TimeStats, *Response, error)
- func (s *IssuesService) CreateIssue(pid interface{}, opt *CreateIssueOptions, options ...OptionFunc) (*Issue, *Response, error)
- func (s *IssuesService) DeleteIssue(pid interface{}, issue int, options ...OptionFunc) (*Response, error)
- func (s *IssuesService) GetIssue(pid interface{}, issue int, options ...OptionFunc) (*Issue, *Response, error)
- func (s *IssuesService) GetTimeSpent(pid interface{}, issue int, options ...OptionFunc) (*TimeStats, *Response, error)
- func (s *IssuesService) ListGroupIssues(pid interface{}, opt *ListGroupIssuesOptions, options ...OptionFunc) ([]*Issue, *Response, error)
- func (s *IssuesService) ListIssues(opt *ListIssuesOptions, options ...OptionFunc) ([]*Issue, *Response, error)
- func (s *IssuesService) ListProjectIssues(pid interface{}, opt *ListProjectIssuesOptions, options ...OptionFunc) ([]*Issue, *Response, error)
- func (s *IssuesService) ResetSpentTime(pid interface{}, issue int, options ...OptionFunc) (*TimeStats, *Response, error)
- func (s *IssuesService) ResetTimeEstimate(pid interface{}, issue int, options ...OptionFunc) (*TimeStats, *Response, error)
- func (s *IssuesService) SetTimeEstimate(pid interface{}, issue int, opt *SetTimeEstimateOptions, options ...OptionFunc) (*TimeStats, *Response, error)
- func (s *IssuesService) UpdateIssue(pid interface{}, issue int, opt *UpdateIssueOptions, options ...OptionFunc) (*Issue, *Response, error)
- type JiraService
- type JiraServiceProperties
- type Job
- type JobsService
- func (s *JobsService) CancelJob(pid interface{}, jobID int, options ...OptionFunc) (*Job, *Response, error)
- func (s *JobsService) DownloadArtifactsFile(pid interface{}, refName string, job string, options ...OptionFunc) (io.Reader, *Response, error)
- func (s *JobsService) EraseJob(pid interface{}, jobID int, options ...OptionFunc) (*Job, *Response, error)
- func (s *JobsService) GetJob(pid interface{}, jobID int, options ...OptionFunc) (*Job, *Response, error)
- func (s *JobsService) GetJobArtifacts(pid interface{}, jobID int, options ...OptionFunc) (io.Reader, *Response, error)
- func (s *JobsService) GetTraceFile(pid interface{}, jobID int, options ...OptionFunc) (io.Reader, *Response, error)
- func (s *JobsService) KeepArtifacts(pid interface{}, jobID int, options ...OptionFunc) (*Job, *Response, error)
- func (s *JobsService) ListPipelineJobs(pid interface{}, pipelineID int, opts *ListJobsOptions, options ...OptionFunc) ([]Job, *Response, error)
- func (s *JobsService) ListProjectJobs(pid interface{}, opts *ListJobsOptions, options ...OptionFunc) ([]Job, *Response, error)
- func (s *JobsService) PlayJob(pid interface{}, jobID int, options ...OptionFunc) (*Job, *Response, error)
- func (s *JobsService) RetryJob(pid interface{}, jobID int, options ...OptionFunc) (*Job, *Response, error)
- type Label
- type Labels
- type LabelsService
- func (s *LabelsService) CreateLabel(pid interface{}, opt *CreateLabelOptions, options ...OptionFunc) (*Label, *Response, error)
- func (s *LabelsService) DeleteLabel(pid interface{}, opt *DeleteLabelOptions, options ...OptionFunc) (*Response, error)
- func (s *LabelsService) ListLabels(pid interface{}, options ...OptionFunc) ([]*Label, *Response, error)
- func (s *LabelsService) UpdateLabel(pid interface{}, opt *UpdateLabelOptions, options ...OptionFunc) (*Label, *Response, error)
- type Links
- type ListBranchesOptions
- type ListBuildVariablesOptions
- type ListCommitsOptions
- type ListEnvironmentsOptions
- type ListGroupIssuesOptions
- type ListGroupMembersOptions
- type ListGroupProjectsOptions
- type ListGroupsOptions
- type ListIssueNotesOptions
- type ListIssuesOptions
- type ListJobsOptions
- type ListMergeRequestsOptions
- type ListMilestonesOptions
- type ListNamespacesOptions
- type ListOptions
- type ListPipelineTriggersOptions
- type ListProjectHooksOptions
- type ListProjectIssuesOptions
- type ListProjectMembersOptions
- type ListProjectMergeRequestsOptions
- type ListProjectSnippetsOptions
- type ListProjectsOptions
- type ListSnippetsOptions
- type ListTodosOptions
- type ListTreeOptions
- type ListUsersOptions
- type ListWikisOptions
- type MergeCommentEvent
- type MergeEvent
- type MergeRequest
- type MergeRequestApprovals
- type MergeRequestsService
- func (s *MergeRequestsService) AcceptMergeRequest(pid interface{}, mergeRequest int, opt *AcceptMergeRequestOptions, ...) (*MergeRequest, *Response, error)
- func (s *MergeRequestsService) AddSpentTime(pid interface{}, mergeRequest int, opt *AddSpentTimeOptions, ...) (*TimeStats, *Response, error)
- func (s *MergeRequestsService) CreateMergeRequest(pid interface{}, opt *CreateMergeRequestOptions, options ...OptionFunc) (*MergeRequest, *Response, error)
- func (s *MergeRequestsService) GetIssuesClosedOnMerge(pid interface{}, mergeRequest int, options ...OptionFunc) ([]*Issue, *Response, error)
- func (s *MergeRequestsService) GetMergeRequest(pid interface{}, mergeRequest int, options ...OptionFunc) (*MergeRequest, *Response, error)
- func (s *MergeRequestsService) GetMergeRequestApprovals(pid interface{}, mergeRequest int, options ...OptionFunc) (*MergeRequestApprovals, *Response, error)
- func (s *MergeRequestsService) GetMergeRequestChanges(pid interface{}, mergeRequest int, options ...OptionFunc) (*MergeRequest, *Response, error)
- func (s *MergeRequestsService) GetMergeRequestCommits(pid interface{}, mergeRequest int, options ...OptionFunc) ([]*Commit, *Response, error)
- func (s *MergeRequestsService) GetTimeSpent(pid interface{}, mergeRequest int, options ...OptionFunc) (*TimeStats, *Response, error)
- func (s *MergeRequestsService) ListMergeRequests(opt *ListMergeRequestsOptions, options ...OptionFunc) ([]*MergeRequest, *Response, error)
- func (s *MergeRequestsService) ListProjectMergeRequests(pid interface{}, opt *ListProjectMergeRequestsOptions, options ...OptionFunc) ([]*MergeRequest, *Response, error)
- func (s *MergeRequestsService) ResetSpentTime(pid interface{}, mergeRequest int, options ...OptionFunc) (*TimeStats, *Response, error)
- func (s *MergeRequestsService) ResetTimeEstimate(pid interface{}, mergeRequest int, options ...OptionFunc) (*TimeStats, *Response, error)
- func (s *MergeRequestsService) SetTimeEstimate(pid interface{}, mergeRequest int, opt *SetTimeEstimateOptions, ...) (*TimeStats, *Response, error)
- func (s *MergeRequestsService) UpdateMergeRequest(pid interface{}, mergeRequest int, opt *UpdateMergeRequestOptions, ...) (*MergeRequest, *Response, error)
- type Milestone
- type MilestonesService
- func (s *MilestonesService) CreateMilestone(pid interface{}, opt *CreateMilestoneOptions, options ...OptionFunc) (*Milestone, *Response, error)
- func (s *MilestonesService) GetMilestone(pid interface{}, milestone int, options ...OptionFunc) (*Milestone, *Response, error)
- func (s *MilestonesService) GetMilestoneIssues(pid interface{}, milestone int, opt *GetMilestoneIssuesOptions, ...) ([]*Issue, *Response, error)
- func (s *MilestonesService) ListMilestones(pid interface{}, opt *ListMilestonesOptions, options ...OptionFunc) ([]*Milestone, *Response, error)
- func (s *MilestonesService) UpdateMilestone(pid interface{}, milestone int, opt *UpdateMilestoneOptions, ...) (*Milestone, *Response, error)
- type ModifyUserOptions
- type Namespace
- type NamespacesService
- type Note
- type NotesService
- func (s *NotesService) CreateIssueNote(pid interface{}, issue int, opt *CreateIssueNoteOptions, options ...OptionFunc) (*Note, *Response, error)
- func (s *NotesService) CreateMergeRequestNote(pid interface{}, mergeRequest int, opt *CreateMergeRequestNoteOptions, ...) (*Note, *Response, error)
- func (s *NotesService) CreateSnippetNote(pid interface{}, snippet int, opt *CreateSnippetNoteOptions, ...) (*Note, *Response, error)
- func (s *NotesService) DeleteIssueNote(pid interface{}, issue, note int, options ...OptionFunc) (*Response, error)
- func (s *NotesService) DeleteMergeRequestNote(pid interface{}, mergeRequest, note int, options ...OptionFunc) (*Response, error)
- func (s *NotesService) DeleteSnippetNote(pid interface{}, snippet, note int, options ...OptionFunc) (*Response, error)
- func (s *NotesService) GetIssueNote(pid interface{}, issue, note int, options ...OptionFunc) (*Note, *Response, error)
- func (s *NotesService) GetMergeRequestNote(pid interface{}, mergeRequest, note int, options ...OptionFunc) (*Note, *Response, error)
- func (s *NotesService) GetSnippetNote(pid interface{}, snippet, note int, options ...OptionFunc) (*Note, *Response, error)
- func (s *NotesService) ListIssueNotes(pid interface{}, issue int, opt *ListIssueNotesOptions, options ...OptionFunc) ([]*Note, *Response, error)
- func (s *NotesService) ListMergeRequestNotes(pid interface{}, mergeRequest int, options ...OptionFunc) ([]*Note, *Response, error)
- func (s *NotesService) ListSnippetNotes(pid interface{}, snippet int, options ...OptionFunc) ([]*Note, *Response, error)
- func (s *NotesService) UpdateIssueNote(pid interface{}, issue, note int, opt *UpdateIssueNoteOptions, ...) (*Note, *Response, error)
- func (s *NotesService) UpdateMergeRequestNote(pid interface{}, mergeRequest, note int, opt *UpdateMergeRequestNoteOptions, ...) (*Note, *Response, error)
- func (s *NotesService) UpdateSnippetNote(pid interface{}, snippet, note int, opt *UpdateSnippetNoteOptions, ...) (*Note, *Response, error)
- type NotificationEvents
- type NotificationLevelValue
- type NotificationSettings
- type NotificationSettingsOptions
- type NotificationSettingsService
- func (s *NotificationSettingsService) GetGlobalSettings(options ...OptionFunc) (*NotificationSettings, *Response, error)
- func (s *NotificationSettingsService) GetSettingsForGroup(gid interface{}, options ...OptionFunc) (*NotificationSettings, *Response, error)
- func (s *NotificationSettingsService) GetSettingsForProject(pid interface{}, options ...OptionFunc) (*NotificationSettings, *Response, error)
- func (s *NotificationSettingsService) UpdateGlobalSettings(opt *NotificationSettingsOptions, options ...OptionFunc) (*NotificationSettings, *Response, error)
- func (s *NotificationSettingsService) UpdateSettingsForGroup(gid interface{}, opt *NotificationSettingsOptions, options ...OptionFunc) (*NotificationSettings, *Response, error)
- func (s *NotificationSettingsService) UpdateSettingsForProject(pid interface{}, opt *NotificationSettingsOptions, options ...OptionFunc) (*NotificationSettings, *Response, error)
- type OptionFunc
- type Permissions
- type Pipeline
- type PipelineEvent
- type PipelineList
- type PipelineTrigger
- type PipelineTriggersService
- func (s *PipelineTriggersService) AddPipelineTrigger(pid interface{}, opt *AddPipelineTriggerOptions, options ...OptionFunc) (*PipelineTrigger, *Response, error)
- func (s *PipelineTriggersService) DeletePipelineTrigger(pid interface{}, trigger int, options ...OptionFunc) (*Response, error)
- func (s *PipelineTriggersService) EditPipelineTrigger(pid interface{}, trigger int, opt *EditPipelineTriggerOptions, ...) (*PipelineTrigger, *Response, error)
- func (s *PipelineTriggersService) GetPipelineTrigger(pid interface{}, trigger int, options ...OptionFunc) (*PipelineTrigger, *Response, error)
- func (s *PipelineTriggersService) ListPipelineTriggers(pid interface{}, opt *ListPipelineTriggersOptions, options ...OptionFunc) ([]*PipelineTrigger, *Response, error)
- func (s *PipelineTriggersService) RunPipelineTrigger(pid interface{}, opt *RunPipelineTriggerOptions, options ...OptionFunc) (*Pipeline, *Response, error)
- func (s *PipelineTriggersService) TakeOwnershipOfPipelineTrigger(pid interface{}, trigger int, options ...OptionFunc) (*PipelineTrigger, *Response, error)
- type PipelinesService
- func (s *PipelinesService) CancelPipelineBuild(pid interface{}, pipelineID int, options ...OptionFunc) (*Pipeline, *Response, error)
- func (s *PipelinesService) CreatePipeline(pid interface{}, opt *CreatePipelineOptions, options ...OptionFunc) (*Pipeline, *Response, error)
- func (s *PipelinesService) GetPipeline(pid interface{}, pipeline int, options ...OptionFunc) (*Pipeline, *Response, error)
- func (s *PipelinesService) ListProjectPipelines(pid interface{}, options ...OptionFunc) (PipelineList, *Response, error)
- func (s *PipelinesService) RetryPipelineBuild(pid interface{}, pipelineID int, options ...OptionFunc) (*Pipeline, *Response, error)
- type PostCommitCommentOptions
- type Project
- type ProjectAccess
- type ProjectEvent
- type ProjectFile
- type ProjectForkRelation
- type ProjectHook
- type ProjectMember
- type ProjectMembersService
- func (s *ProjectMembersService) AddProjectMember(pid interface{}, opt *AddProjectMemberOptions, options ...OptionFunc) (*ProjectMember, *Response, error)
- func (s *ProjectMembersService) DeleteProjectMember(pid interface{}, user int, options ...OptionFunc) (*Response, error)
- func (s *ProjectMembersService) EditProjectMember(pid interface{}, user int, opt *EditProjectMemberOptions, ...) (*ProjectMember, *Response, error)
- func (s *ProjectMembersService) GetProjectMember(pid interface{}, user int, options ...OptionFunc) (*ProjectMember, *Response, error)
- func (s *ProjectMembersService) ListProjectMembers(pid interface{}, opt *ListProjectMembersOptions, options ...OptionFunc) ([]*ProjectMember, *Response, error)
- type ProjectNamespace
- type ProjectSnippetsService
- func (s *ProjectSnippetsService) CreateSnippet(pid interface{}, opt *CreateProjectSnippetOptions, options ...OptionFunc) (*Snippet, *Response, error)
- func (s *ProjectSnippetsService) DeleteSnippet(pid interface{}, snippet int, options ...OptionFunc) (*Response, error)
- func (s *ProjectSnippetsService) GetSnippet(pid interface{}, snippet int, options ...OptionFunc) (*Snippet, *Response, error)
- func (s *ProjectSnippetsService) ListSnippets(pid interface{}, opt *ListProjectSnippetsOptions, options ...OptionFunc) ([]*Snippet, *Response, error)
- func (s *ProjectSnippetsService) SnippetContent(pid interface{}, snippet int, options ...OptionFunc) ([]byte, *Response, error)
- func (s *ProjectSnippetsService) UpdateSnippet(pid interface{}, snippet int, opt *UpdateProjectSnippetOptions, ...) (*Snippet, *Response, error)
- type ProjectStatistics
- type ProjectsService
- func (s *ProjectsService) AddProjectHook(pid interface{}, opt *AddProjectHookOptions, options ...OptionFunc) (*ProjectHook, *Response, error)
- func (s *ProjectsService) ArchiveProject(pid interface{}, options ...OptionFunc) (*Project, *Response, error)
- func (s *ProjectsService) CreateProject(opt *CreateProjectOptions, options ...OptionFunc) (*Project, *Response, error)
- func (s *ProjectsService) CreateProjectForUser(user int, opt *CreateProjectForUserOptions, options ...OptionFunc) (*Project, *Response, error)
- func (s *ProjectsService) CreateProjectForkRelation(pid int, fork int, options ...OptionFunc) (*ProjectForkRelation, *Response, error)
- func (s *ProjectsService) DeleteProject(pid interface{}, options ...OptionFunc) (*Response, error)
- func (s *ProjectsService) DeleteProjectForkRelation(pid int, options ...OptionFunc) (*Response, error)
- func (s *ProjectsService) DeleteProjectHook(pid interface{}, hook int, options ...OptionFunc) (*Response, error)
- func (s *ProjectsService) EditProject(pid interface{}, opt *EditProjectOptions, options ...OptionFunc) (*Project, *Response, error)
- func (s *ProjectsService) EditProjectHook(pid interface{}, hook int, opt *EditProjectHookOptions, options ...OptionFunc) (*ProjectHook, *Response, error)
- func (s *ProjectsService) ForkProject(pid interface{}, options ...OptionFunc) (*Project, *Response, error)
- func (s *ProjectsService) GetProject(pid interface{}, options ...OptionFunc) (*Project, *Response, error)
- func (s *ProjectsService) GetProjectEvents(pid interface{}, opt *GetProjectEventsOptions, options ...OptionFunc) ([]*ProjectEvent, *Response, error)
- func (s *ProjectsService) GetProjectHook(pid interface{}, hook int, options ...OptionFunc) (*ProjectHook, *Response, error)
- func (s *ProjectsService) ListProjectHooks(pid interface{}, opt *ListProjectHooksOptions, options ...OptionFunc) ([]*ProjectHook, *Response, error)
- func (s *ProjectsService) ListProjects(opt *ListProjectsOptions, options ...OptionFunc) ([]*Project, *Response, error)
- func (s *ProjectsService) ListUserProjects(uid interface{}, opt *ListProjectsOptions, options ...OptionFunc) ([]*Project, *Response, error)
- func (s *ProjectsService) ShareProjectWithGroup(pid interface{}, opt *ShareWithGroupOptions, options ...OptionFunc) (*Response, error)
- func (s *ProjectsService) StarProject(pid interface{}, options ...OptionFunc) (*Project, *Response, error)
- func (s *ProjectsService) UnarchiveProject(pid interface{}, options ...OptionFunc) (*Project, *Response, error)
- func (s *ProjectsService) UnstarProject(pid interface{}, options ...OptionFunc) (*Project, *Response, error)
- func (s *ProjectsService) UploadFile(pid interface{}, file string, options ...OptionFunc) (*ProjectFile, *Response, error)
- type ProtectBranchOptions
- type PushEvent
- type RepositoriesService
- func (s *RepositoriesService) Archive(pid interface{}, opt *ArchiveOptions, options ...OptionFunc) ([]byte, *Response, error)
- func (s *RepositoriesService) Compare(pid interface{}, opt *CompareOptions, options ...OptionFunc) (*Compare, *Response, error)
- func (s *RepositoriesService) Contributors(pid interface{}, options ...OptionFunc) ([]*Contributor, *Response, error)
- func (s *RepositoriesService) ListTree(pid interface{}, opt *ListTreeOptions, options ...OptionFunc) ([]*TreeNode, *Response, error)
- func (s *RepositoriesService) RawBlobContent(pid interface{}, sha string, options ...OptionFunc) ([]byte, *Response, error)
- func (s *RepositoriesService) RawFileContent(pid interface{}, sha string, options ...OptionFunc) ([]byte, *Response, error)
- type Repository
- type RepositoryFilesService
- func (s *RepositoryFilesService) CreateFile(pid interface{}, fileName string, opt *CreateFileOptions, ...) (*FileInfo, *Response, error)
- func (s *RepositoryFilesService) DeleteFile(pid interface{}, fileName string, opt *DeleteFileOptions, ...) (*Response, error)
- func (s *RepositoryFilesService) GetFile(pid interface{}, fileName string, opt *GetFileOptions, options ...OptionFunc) (*File, *Response, error)
- func (s *RepositoryFilesService) GetRawFile(pid interface{}, fileName string, opt *GetRawFileOptions, ...) (*File, *Response, error)
- func (s *RepositoryFilesService) UpdateFile(pid interface{}, fileName string, opt *UpdateFileOptions, ...) (*FileInfo, *Response, error)
- type Response
- type RunPipelineTriggerOptions
- type SSHKey
- type Service
- type ServicesService
- func (s *ServicesService) DeleteDroneCIService(pid interface{}, options ...OptionFunc) (*Response, error)
- func (s *ServicesService) DeleteGitLabCIService(pid interface{}, options ...OptionFunc) (*Response, error)
- func (s *ServicesService) DeleteHipChatService(pid interface{}, options ...OptionFunc) (*Response, error)
- func (s *ServicesService) DeleteJiraService(pid interface{}, options ...OptionFunc) (*Response, error)
- func (s *ServicesService) DeleteSlackService(pid interface{}, options ...OptionFunc) (*Response, error)
- func (s *ServicesService) GetDroneCIService(pid interface{}, options ...OptionFunc) (*DroneCIService, *Response, error)
- func (s *ServicesService) GetJiraService(pid interface{}, options ...OptionFunc) (*JiraService, *Response, error)
- func (s *ServicesService) GetSlackService(pid interface{}, options ...OptionFunc) (*SlackService, *Response, error)
- func (s *ServicesService) SetDroneCIService(pid interface{}, opt *SetDroneCIServiceOptions, options ...OptionFunc) (*Response, error)
- func (s *ServicesService) SetGitLabCIService(pid interface{}, opt *SetGitLabCIServiceOptions, options ...OptionFunc) (*Response, error)
- func (s *ServicesService) SetHipChatService(pid interface{}, opt *SetHipChatServiceOptions, options ...OptionFunc) (*Response, error)
- func (s *ServicesService) SetJiraService(pid interface{}, opt *SetJiraServiceOptions, options ...OptionFunc) (*Response, error)
- func (s *ServicesService) SetSlackService(pid interface{}, opt *SetSlackServiceOptions, options ...OptionFunc) (*Response, error)
- type Session
- type SessionService
- type SetCommitStatusOptions
- type SetDroneCIServiceOptions
- type SetGitLabCIServiceOptions
- type SetHipChatServiceOptions
- type SetJiraServiceOptions
- type SetSlackServiceOptions
- type SetTimeEstimateOptions
- type Settings
- type SettingsService
- type ShareWithGroupOptions
- type SlackService
- type SlackServiceProperties
- type Snippet
- type SnippetCommentEvent
- type SnippetsService
- func (s *SnippetsService) CreateSnippet(opt *CreateSnippetOptions, options ...OptionFunc) (*Snippet, *Response, error)
- func (s *SnippetsService) DeleteSnippet(snippet int, options ...OptionFunc) (*Response, error)
- func (s *SnippetsService) GetSnippet(snippet int, options ...OptionFunc) (*Snippet, *Response, error)
- func (s *SnippetsService) ListSnippets(opt *ListSnippetsOptions, options ...OptionFunc) ([]*Snippet, *Response, error)
- func (s *SnippetsService) SnippetContent(snippet int, options ...OptionFunc) ([]byte, *Response, error)
- func (s *SnippetsService) UpdateSnippet(snippet int, opt *UpdateSnippetOptions, options ...OptionFunc) (*Snippet, *Response, error)
- type StorageStatistics
- type SystemHooksService
- func (s *SystemHooksService) AddHook(opt *AddHookOptions, options ...OptionFunc) (*Hook, *Response, error)
- func (s *SystemHooksService) DeleteHook(hook int, options ...OptionFunc) (*Response, error)
- func (s *SystemHooksService) ListHooks(options ...OptionFunc) ([]*Hook, *Response, error)
- func (s *SystemHooksService) TestHook(hook int, options ...OptionFunc) (*HookEvent, *Response, error)
- type Tag
- type TagEvent
- type TagsService
- func (s *TagsService) CreateTag(pid interface{}, opt *CreateTagOptions, options ...OptionFunc) (*Tag, *Response, error)
- func (s *TagsService) DeleteTag(pid interface{}, tag string, options ...OptionFunc) (*Response, error)
- func (s *TagsService) GetTag(pid interface{}, tag string, options ...OptionFunc) (*Tag, *Response, error)
- func (s *TagsService) ListTags(pid interface{}, options ...OptionFunc) ([]*Tag, *Response, error)
- type TimeStats
- type Todo
- type TodoAction
- type TodoTarget
- type TodosService
- type TreeNode
- type UpdateBuildVariableOptions
- type UpdateFileOptions
- type UpdateGroupOptions
- type UpdateIssueNoteOptions
- type UpdateIssueOptions
- type UpdateLabelOptions
- type UpdateMergeRequestNoteOptions
- type UpdateMergeRequestOptions
- type UpdateMilestoneOptions
- type UpdateProjectSnippetOptions
- type UpdateSettingsOptions
- type UpdateSnippetNoteOptions
- type UpdateSnippetOptions
- type User
- type UserActivity
- type UserIdentity
- type UsersService
- func (s *UsersService) AddEmail(opt *AddEmailOptions, options ...OptionFunc) (*Email, *Response, error)
- func (s *UsersService) AddEmailForUser(user int, opt *AddEmailOptions, options ...OptionFunc) (*Email, *Response, error)
- func (s *UsersService) AddSSHKey(opt *AddSSHKeyOptions, options ...OptionFunc) (*SSHKey, *Response, error)
- func (s *UsersService) AddSSHKeyForUser(user int, opt *AddSSHKeyOptions, options ...OptionFunc) (*SSHKey, *Response, error)
- func (s *UsersService) BlockUser(user int, options ...OptionFunc) error
- func (s *UsersService) CreateImpersonationToken(user int, opt *CreateImpersonationTokenOptions, options ...OptionFunc) (*ImpersonationToken, *Response, error)
- func (s *UsersService) CreateUser(opt *CreateUserOptions, options ...OptionFunc) (*User, *Response, error)
- func (s *UsersService) CurrentUser(options ...OptionFunc) (*User, *Response, error)
- func (s *UsersService) DeleteEmail(email int, options ...OptionFunc) (*Response, error)
- func (s *UsersService) DeleteEmailForUser(user, email int, options ...OptionFunc) (*Response, error)
- func (s *UsersService) DeleteSSHKey(key int, options ...OptionFunc) (*Response, error)
- func (s *UsersService) DeleteSSHKeyForUser(user, key int, options ...OptionFunc) (*Response, error)
- func (s *UsersService) DeleteUser(user int, options ...OptionFunc) (*Response, error)
- func (s *UsersService) GetAllImpersonationTokens(user int, opt *GetAllImpersonationTokensOptions, options ...OptionFunc) ([]*ImpersonationToken, *Response, error)
- func (s *UsersService) GetEmail(email int, options ...OptionFunc) (*Email, *Response, error)
- func (s *UsersService) GetImpersonationToken(user, token int, options ...OptionFunc) (*ImpersonationToken, *Response, error)
- func (s *UsersService) GetSSHKey(key int, options ...OptionFunc) (*SSHKey, *Response, error)
- func (s *UsersService) GetUser(user int, options ...OptionFunc) (*User, *Response, error)
- func (s *UsersService) GetUserActivities(options ...OptionFunc) ([]*UserActivity, *Response, error)
- func (s *UsersService) ListEmails(options ...OptionFunc) ([]*Email, *Response, error)
- func (s *UsersService) ListEmailsForUser(user int, options ...OptionFunc) ([]*Email, *Response, error)
- func (s *UsersService) ListSSHKeys(options ...OptionFunc) ([]*SSHKey, *Response, error)
- func (s *UsersService) ListSSHKeysForUser(user int, options ...OptionFunc) ([]*SSHKey, *Response, error)
- func (s *UsersService) ListUsers(opt *ListUsersOptions, options ...OptionFunc) ([]*User, *Response, error)
- func (s *UsersService) ModifyUser(user int, opt *ModifyUserOptions, options ...OptionFunc) (*User, *Response, error)
- func (s *UsersService) RevokeImpersonationToken(user, token int, options ...OptionFunc) (*Response, error)
- func (s *UsersService) UnblockUser(user int, options ...OptionFunc) error
- type Version
- type VersionService
- type VisibilityValue
- type Wiki
- type WikiFormat
- type WikiPageEvent
- type WikisService
- func (s *WikisService) CreateWikiPage(pid interface{}, opt *CreateWikiPageOptions, options ...OptionFunc) (*Wiki, *Response, error)
- func (s *WikisService) DeleteWikiPage(pid interface{}, slug string, options ...OptionFunc) (*Response, error)
- func (s *WikisService) EditWikiPage(pid interface{}, slug string, opt *EditWikiPageOptions, options ...OptionFunc) (*Wiki, *Response, error)
- func (s *WikisService) GetWikiPage(pid interface{}, slug string, options ...OptionFunc) (*Wiki, *Response, error)
- func (s *WikisService) ListWikis(pid interface{}, opt *ListWikisOptions, options ...OptionFunc) ([]*Wiki, *Response, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Bool ¶
Bool is a helper routine that allocates a new bool value to store v and returns a pointer to it.
func CheckResponse ¶
CheckResponse checks the API response for errors, and returns them if present.
func 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.
Types ¶
type AcceptMergeRequestOptions ¶ added in v0.4.0
type AcceptMergeRequestOptions struct { MergeCommitMessage *string `url:"merge_commit_message,omitempty" json:"merge_commit_message,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 ¶ added in v0.2.0
type AccessLevelValue int
AccessLevelValue represents a permission level within GitLab.
GitLab API docs: https://docs.gitlab.com/ce/permissions/permissions.html
const ( GuestPermissions AccessLevelValue = 10 ReporterPermissions AccessLevelValue = 20 DeveloperPermissions AccessLevelValue = 30 MasterPermissions AccessLevelValue = 40 OwnerPermission AccessLevelValue = 50 )
List of available access levels
GitLab API docs: https://docs.gitlab.com/ce/permissions/permissions.html
func AccessLevel ¶
func AccessLevel(v AccessLevelValue) *AccessLevelValue
AccessLevel is a helper routine that allocates a new AccessLevelValue to store v and returns a pointer to it.
type AddDeployKeyOptions ¶
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 ¶ added in v0.4.0
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 AddGroupMemberOptions ¶
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 AddHookOptions ¶
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 AddPipelineTriggerOptions ¶ added in v0.6.0
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 AddProjectHookOptions ¶
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"` 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 ¶
type AddProjectMemberOptions struct { UserID *int `url:"user_id,omitempty" json:"user_id,omitempty"` AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"` }
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 AddSSHKeyOptions ¶
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 AddSpentTimeOptions ¶ added in v0.4.0
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 ArchiveOptions ¶
type ArchiveOptions struct {
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 ¶
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 Branch ¶
type Branch struct { Commit *Commit `json:"commit"` Name string `json:"name"` Protected bool `json:"protected"` Merged bool `json:"merged"` 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
type BranchesService ¶
type BranchesService struct {
// contains filtered or unexported fields
}
BranchesService handles communication with the branch related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/branches.html
func (*BranchesService) CreateBranch ¶
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 ¶
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 ¶ added in v0.6.0
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 ¶
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 ¶
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 ¶
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 ¶
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 BuildEvent ¶ added in v0.4.0
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 string `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/web_hooks/web_hooks.html#build-events
type BuildState ¶
type BuildState string
BuildState represents a GitLab build state.
const ( Pending BuildState = "pending" Running BuildState = "running" Success BuildState = "success" Failed BuildState = "failed" Canceled BuildState = "canceled" )
These constants represent all valid build states.
type BuildVariable ¶ added in v0.4.0
type BuildVariable struct { Key string `json:"key"` Value string `json:"value"` Protected bool `json:"protected"` }
BuildVariable represents a variable available for each build of the given project
Gitlab API Docs : https://docs.gitlab.com/ce/api/build_variables.html
func (BuildVariable) String ¶ added in v0.4.0
func (v BuildVariable) String() string
type BuildVariablesService ¶ added in v0.4.0
type BuildVariablesService struct {
// contains filtered or unexported fields
}
BuildVariablesService handles communication with the project variables related methods of the Gitlab API
Gitlab API Docs : https://docs.gitlab.com/ce/api/build_variables.html
func (*BuildVariablesService) CreateBuildVariable ¶ added in v0.4.0
func (s *BuildVariablesService) CreateBuildVariable(pid interface{}, opt *CreateBuildVariableOptions, options ...OptionFunc) (*BuildVariable, *Response, error)
CreateBuildVariable creates a variable for a given project
Gitlab API Docs: https://docs.gitlab.com/ce/api/build_variables.html#create-variable
func (*BuildVariablesService) GetBuildVariable ¶ added in v0.4.0
func (s *BuildVariablesService) GetBuildVariable(pid interface{}, key string, options ...OptionFunc) (*BuildVariable, *Response, error)
GetBuildVariable gets a single project variable of a project
Gitlab API Docs: https://docs.gitlab.com/ce/api/build_variables.html#show-variable-details
func (*BuildVariablesService) ListBuildVariables ¶ added in v0.4.0
func (s *BuildVariablesService) ListBuildVariables(pid interface{}, opts *ListBuildVariablesOptions, options ...OptionFunc) ([]*BuildVariable, *Response, error)
ListBuildVariables gets the a list of project variables in a project
Gitlab API Docs: https://docs.gitlab.com/ce/api/build_variables.html#list-project-variables
func (*BuildVariablesService) RemoveBuildVariable ¶ added in v0.4.0
func (s *BuildVariablesService) RemoveBuildVariable(pid interface{}, key string, options ...OptionFunc) (*Response, error)
RemoveBuildVariable removes a project variable of a given project identified by its key
Gitlab API Docs: https://docs.gitlab.com/ce/api/build_variables.html#remove-variable
func (*BuildVariablesService) UpdateBuildVariable ¶ added in v0.4.0
func (s *BuildVariablesService) UpdateBuildVariable(pid interface{}, key string, opt *UpdateBuildVariableOptions, options ...OptionFunc) (*BuildVariable, *Response, error)
UpdateBuildVariable updates an existing project variable The variable key must exist
Gitlab API Docs: https://docs.gitlab.com/ce/api/build_variables.html#update-variable
type CherryPickCommitOptions ¶ added in v0.4.1
type CherryPickCommitOptions struct {
TargetBranch *string `url:"branch" json:"branch,omitempty"`
}
CherryPickCommitOptions represents the available options for cherry-picking a commit.
GitLab API docs: https://docs.gitlab.com/ce/api/commits.html#cherry-pick-a-commit
type Client ¶
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. Branches *BranchesService BuildVariables *BuildVariablesService Commits *CommitsService DeployKeys *DeployKeysService Environments *EnvironmentsService Features *FeaturesService Groups *GroupsService GroupMembers *GroupMembersService Issues *IssuesService Jobs *JobsService Labels *LabelsService MergeRequests *MergeRequestsService Milestones *MilestonesService Namespaces *NamespacesService Notes *NotesService NotificationSettings *NotificationSettingsService Projects *ProjectsService ProjectMembers *ProjectMembersService ProjectSnippets *ProjectSnippetsService Pipelines *PipelinesService PipelineTriggers *PipelineTriggersService Repositories *RepositoriesService RepositoryFiles *RepositoryFilesService Services *ServicesService Session *SessionService Settings *SettingsService Snippets *SnippetsService SystemHooks *SystemHooksService Tags *TagsService Todos *TodosService Users *UsersService Version *VersionService Wikis *WikisService // contains filtered or unexported fields }
A Client manages communication with the GitLab API.
func NewClient ¶
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 token.
func NewOAuthClient ¶
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) Do ¶
Do sends an API request and returns the API response. The API response is JSON decoded and stored in the value pointed to by v, or returned as an error if an API error has occurred. If v implements the io.Writer interface, the raw response body will be written to v, without attempting to first decode it.
func (*Client) NewRequest ¶
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 ¶
SetBaseURL sets the base URL for API requests to a custom endpoint. urlStr should always be specified with a trailing slash.
type Commit ¶
type Commit struct { ID string `json:"id"` ShortID string `json:"short_id"` Title string `json:"title"` AuthorName string `json:"author_name"` AuthorEmail string `json:"author_email"` AuthoredDate *time.Time `json:"authored_date"` CommitterName string `json:"committer_name"` CommitterEmail string `json:"committer_email"` CommittedDate *time.Time `json:"committed_date"` CreatedAt *time.Time `json:"created_at"` Message string `json:"message"` ParentIDs []string `json:"parent_ids"` Stats *CommitStats `json:"stats"` Status *BuildState `json:"status"` }
Commit represents a GitLab commit.
GitLab API docs: https://docs.gitlab.com/ce/api/commits.html
type CommitAction ¶ added in v0.4.1
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 ¶
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 ¶
func (c CommitComment) String() string
type CommitCommentEvent ¶ added in v0.3.1
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 *Commit `json:"commit"` }
CommitCommentEvent represents a comment on a commit event.
GitLab API docs: https://docs.gitlab.com/ce/web_hooks/web_hooks.html#comment-on-commit
type CommitStats ¶ added in v0.4.1
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 ¶
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 ¶
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 ¶ added in v0.4.1
func (s *CommitsService) CherryPickCommit(pid interface{}, sha string, opt *CherryPickCommitOptions, options ...OptionFunc) (*Commit, *Response, error)
CherryPickCommit sherry 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 ¶ added in v0.4.1
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 ¶
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 ¶
func (s *CommitsService) GetCommitComments(pid interface{}, sha string, 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 ¶
func (s *CommitsService) GetCommitDiff(pid interface{}, sha string, 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) GetCommitStatuses ¶
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) ListCommits ¶
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 ¶
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) SetCommitStatus ¶
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 ¶
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
type CompareOptions ¶
type CompareOptions struct { From *string `url:"from,omitempty" json:"from,omitempty"` To *string `url:"to,omitempty" json:"to,omitempty"` }
CompareOptions represents the available Compare() options.
GitLab API docs: https://docs.gitlab.com/ce/api/repositories.html#compare-branches-tags-or-commits
type Contributor ¶
type Contributor struct { Name string `json:"name,omitempty"` Email string `json:"email,omitempty"` Commits int `json:"commits,omitempty"` Additions int `json:"additions,omitempty"` Deletions int `json:"deletions,omitempty"` }
Contributor represents a GitLap contributor.
GitLab API docs: https://docs.gitlab.com/ce/api/repositories.html#contributer
func (Contributor) String ¶
func (c Contributor) String() string
type CreateBranchOptions ¶
type CreateBranchOptions struct { Branch *string `url:"branch,omitempty" json:"branch,omitempty"` Ref *string `url:"ref,omitempty" json:"ref,omitempty"` }
CreateBranchOptions represents the available CreateBranch() options.
GitLab API docs: https://docs.gitlab.com/ce/api/branches.html#create-repository-branch
type CreateBuildVariableOptions ¶ added in v0.6.0
type CreateBuildVariableOptions struct { Key *string `url:"key" json:"key"` Value *string `url:"value" json:"value"` Protected *bool `url:"protected,omitempty" json:"protected,omitempty"` }
CreateBuildVariableOptions are the parameters to CreateBuildVariable()
Gitlab API Docs: https://docs.gitlab.com/ce/api/build_variables.html#create-variable
type CreateCommitOptions ¶ added in v0.4.1
type CreateCommitOptions struct { Branch *string `url:"branch" json:"branch"` CommitMessage *string `url:"commit_message" json:"commit_message"` 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"` }
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 ¶ added in v0.7.0
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 CreateFileOptions ¶
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 CreateGroupOptions ¶
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 CreateImpersonationTokenOptions ¶ added in v0.6.0
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 CreateIssueNoteOptions ¶
type CreateIssueNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
}
CreateIssueNoteOptions represents the available CreateIssueNote() options.
GitLab API docs: https://docs.gitlab.com/ce/api/notes.html#create-new-issue-note
type CreateIssueOptions ¶
type CreateIssueOptions struct { Title *string `url:"title,omitempty" json:"title,omitempty"` Description *string `url:"description,omitempty" json:"description,omitempty"` Confidential *bool `url:"confidential,omitempty" json:"confidential,omitempty"` AssigneeIDs []int `url:"assignee_ids,omitempty" json:"assignee_ids,omitempty"` MilestoneID *int `url:"milestone_id,omitempty" json:"milestone_id,omitempty"` Labels 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"` }
CreateIssueOptions represents the available CreateIssue() options.
GitLab API docs: https://docs.gitlab.com/ce/api/issues.html#new-issues
type CreateLabelOptions ¶
type CreateLabelOptions struct { Name *string `url:"name,omitempty" json:"name,omitempty"` Color *string `url:"color,omitempty" json:"color,omitempty"` Description *string `url:"description,omitempty" json:"description,omitempty"` }
CreateLabelOptions represents the available CreateLabel() options.
GitLab API docs: https://docs.gitlab.com/ce/api/labels.html#create-a-new-label
type CreateMergeRequestNoteOptions ¶
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 ¶
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"` AssigneeID *int `url:"assignee_id,omitempty" json:"assignee_id,omitempty"` TargetProjectID *int `url:"target_project_id,omitempty" json:"target_project_id,omitempty"` }
CreateMergeRequestOptions represents the available CreateMergeRequest() options.
GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#create-mr
type CreateMilestoneOptions ¶
type CreateMilestoneOptions struct { Title *string `url:"title,omitempty" json:"title,omitempty"` Description *string `url:"description,omitempty" json:"description,omitempty"` StartDate *string `url:"start_date,omitempty" json:"start_date,omitempty"` DueDate *string `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 CreatePipelineOptions ¶ added in v0.4.0
type CreatePipelineOptions struct {
Ref *string `url:"ref,omitempty" json:"ref"`
}
CreatePipelineOptions represents the available CreatePipeline() options.
GitLab API docs: https://docs.gitlab.com/ce/api/pipelines.html#create-a-new-pipeline
type CreateProjectForUserOptions ¶
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 CreateProjectOptions ¶
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"` ContainerRegistryEnabled *bool `url:"container_registry_enabled,omitempty" json:"container_registry_enabled,omitempty"` Visibility *VisibilityValue `url:"visibility,omitempty" json:"visibility,omitempty"` ImportURL *string `url:"import_url,omitempty" json:"import_url,omitempty"` PublicJobs *bool `url:"public_jobs,omitempty" json:"public_jobs,omitempty"` OnlyAllowMergeIfPipelineSucceeds *bool `url:"only_allow_merge_if_pipeline_succeeds,omitempty" json:"only_allow_merge_if_pipeline_succeeds,omitempty"` OnlyAllowMergeIfAllDiscussionsAreResolved *bool `` /* 130-byte string literal not displayed */ LFSEnabled *bool `url:"lfs_enabled,omitempty" json:"lfs_enabled,omitempty"` RequestAccessEnabled *bool `url:"request_access_enabled,omitempty" json:"request_access_enabled,omitempty"` }
CreateProjectOptions represents the available CreateProjects() options.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#create-project
type CreateProjectSnippetOptions ¶ added in v0.7.2
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 CreateSnippetNoteOptions ¶
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 ¶
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 ¶
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 *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 ¶
type CreateUserOptions struct { Email *string `url:"email,omitempty" json:"email,omitempty"` Password *string `url:"password,omitempty" json:"password,omitempty"` Username *string `url:"username,omitempty" json:"username,omitempty"` Name *string `url:"name,omitempty" json:"name,omitempty"` Skype *string `url:"skype,omitempty" json:"skype,omitempty"` Linkedin *string `url:"linkedin,omitempty" json:"linkedin,omitempty"` Twitter *string `url:"twitter,omitempty" json:"twitter,omitempty"` WebsiteURL *string `url:"website_url,omitempty" json:"website_url,omitempty"` Organization *string `url:"organization,omitempty" json:"organization,omitempty"` 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"` }
CreateUserOptions represents the available CreateUser() options.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#user-creation
type CreateWikiPageOptions ¶ added in v0.7.0
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 DeleteFileOptions ¶
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 DeleteLabelOptions ¶
type DeleteLabelOptions struct {
Name *string `url:"name,omitempty" json:"name,omitempty"`
}
DeleteLabelOptions represents the available DeleteLabel() options.
GitLab API docs: https://docs.gitlab.com/ce/api/labels.html#delete-a-label
type DeployKey ¶
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.
type DeployKeysService ¶
type DeployKeysService struct {
// contains filtered or unexported fields
}
DeployKeysService handles communication with the keys related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/deploy_keys.html
func (*DeployKeysService) AddDeployKey ¶
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 ¶
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 ¶ added in v0.6.0
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 ¶
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 ¶ added in v0.6.0
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 ¶ added in v0.6.0
func (s *DeployKeysService) ListProjectDeployKeys(pid interface{}, 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 Diff ¶
type Diff struct { Diff string `json:"diff"` NewPath string `json:"new_path"` OldPath string `json:"old_path"` AMode string `json:"a_mode"` BMode string `json:"b_mode"` NewFile bool `json:"new_file"` RenamedFile bool `json:"renamed_file"` DeletedFile bool `json:"deleted_file"` }
Diff represents a GitLab diff.
GitLab API docs: https://docs.gitlab.com/ce/api/commits.html
type DroneCIService ¶
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 ¶
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 EditEnvironmentOptions ¶ added in v0.7.0
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 EditGroupMemberOptions ¶ added in v0.6.2
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 EditPipelineTriggerOptions ¶ added in v0.6.0
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 EditProjectHookOptions ¶
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"` 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 ¶
type EditProjectMemberOptions struct {
AccessLevel *AccessLevelValue `url:"access_level,omitempty" json:"access_level,omitempty"`
}
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 ¶
type EditProjectOptions CreateProjectOptions
EditProjectOptions represents the available EditProject() options.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#edit-project
type EditWikiPageOptions ¶ added in v0.7.0
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 ¶ added in v0.4.0
Email represents an Email.
GitLab API docs: https://doc.gitlab.com/ce/api/users.html#list-emails
type Environment ¶ added in v0.7.0
type Environment struct { ID int `json:"id"` Name string `json:"name"` Slug string `json:"slug"` ExternalURL string `json:"external_url"` }
Environment represents a GitLab environment.
GitLab API docs: https://docs.gitlab.com/ce/api/environments.html
func (Environment) String ¶ added in v0.7.0
func (env Environment) String() string
type EnvironmentsService ¶ added in v0.7.0
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 ¶ added in v0.7.0
func (s *EnvironmentsService) CreateEnvironment(pid interface{}, opt *CreateEnvironmentOptions, options ...OptionFunc) (*Environment, *Response, error)
CreateEnvironment adds a 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 ¶ added in v0.7.0
func (s *EnvironmentsService) DeleteEnvironment(pid interface{}, environment int, options ...OptionFunc) (*Response, error)
DeleteEnvironment removes a 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 ¶ added in v0.7.0
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) ListEnvironments ¶ added in v0.7.0
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
type ErrorResponse ¶
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 ¶
func (e *ErrorResponse) Error() string
type Feature ¶ added in v0.6.0
Feature represents a GitLab feature flag.
GitLab API docs: https://docs.gitlab.com/ce/api/features.html
type FeaturesService ¶ added in v0.6.0
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 ¶ added in v0.6.0
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 ¶ added in v0.6.0
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 ¶
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"` }
File represents a GitLab repository file.
GitLab API docs: https://docs.gitlab.com/ce/api/repository_files.html
type FileAction ¶ added in v0.4.1
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 ¶
FileInfo represents file details of a GitLab repository file.
GitLab API docs: https://docs.gitlab.com/ce/api/repository_files.html
type ForkParent ¶ added in v0.6.0
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 Gate ¶ added in v0.6.0
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 ¶ added in v0.6.0
type GetAllImpersonationTokensOptions struct {
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 GetCommitStatusesOptions ¶
type GetCommitStatusesOptions struct { 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 GetFileOptions ¶
type GetFileOptions struct {
Ref *string `url:"ref,omitempty" json:"ref,omitempty"`
}
GetFileOptions represents the available GetFile() options.
GitLab API docs: https://docs.gitlab.com/ce/api/repository_files.html#get-file-from-repository
type GetMilestoneIssuesOptions ¶
type GetMilestoneIssuesOptions struct {
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 GetProjectEventsOptions ¶
type GetProjectEventsOptions struct {
ListOptions
}
GetProjectEventsOptions represents the available GetProjectEvents() options.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#get-project-events
type GetRawFileOptions ¶ added in v0.6.0
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 GetSessionOptions ¶
type GetSessionOptions struct { Login *string `url:"login,omitempty" json:"login,omitempty"` Email *string `url:"email,omitempty" json:"email,omitempty"` Password *string `url:"password,omitempty" json:"password,omitempty"` }
GetSessionOptions represents the available Session() options.
GitLab API docs: https://docs.gitlab.com/ce/api/session.html#session
type Group ¶
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"` }
Group represents a GitLab group.
GitLab API docs: https://docs.gitlab.com/ce/api/groups.html
type GroupAccess ¶
type GroupAccess struct { AccessLevel AccessLevelValue `json:"access_level"` NotificationLevel NotificationLevelValue `json:"notification_level"` }
GroupAccess represents group access.
type GroupMember ¶
type GroupMember struct { ID int `json:"id"` Username string `json:"username"` Email string `json:"email"` Name string `json:"name"` State string `json:"state"` CreatedAt *time.Time `json:"created_at"` AccessLevel AccessLevelValue `json:"access_level"` ExpiresAt *ISOTime `json:"expires_at"` }
GroupMember represents a GitLab group member.
GitLab API docs: https://docs.gitlab.com/ce/api/members.html
type GroupMembersService ¶ added in v0.7.0
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 ¶ added in v0.7.0
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 ¶ added in v0.7.0
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 ¶ added in v0.7.0
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 ¶ added in v0.7.0
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 GroupsService ¶
type GroupsService struct {
// contains filtered or unexported fields
}
GroupsService handles communication with the group related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/groups.html
func (*GroupsService) CreateGroup ¶
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 ¶
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 ¶
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) ListGroupMembers ¶
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.
GitLab API docs: https://docs.gitlab.com/ce/api/members.html#list-all-members-of-a-group-or-project
func (*GroupsService) ListGroupProjects ¶ added in v0.4.0
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-s-projects
func (*GroupsService) ListGroups ¶
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) SearchGroup ¶
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 ¶
func (s *GroupsService) TransferGroup(gid interface{}, project int, 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 ¶ added in v0.6.0
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 ¶
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
type HookEvent ¶
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 triggert by a GitLab system hook.
GitLab API docs: https://docs.gitlab.com/ce/api/system_hooks.html
type ISOTime ¶ added in v0.7.2
ISOTime represents an ISO 8601 formatted date
func (ISOTime) MarshalJSON ¶ added in v0.7.2
MarshalJSON implements the json.Marshaler interface
func (*ISOTime) UnmarshalJSON ¶ added in v0.7.2
UnmarshalJSON implements the json.Unmarshaler interface
type ImpersonationToken ¶ added in v0.6.0
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 Issue ¶
type Issue struct { ID int `json:"id"` IID int `json:"iid"` ProjectID int `json:"project_id"` Milestone *Milestone `json:"milestone"` Author struct { ID int `json:"id"` Username string `json:"username"` Email string `json:"email"` Name string `json:"name"` State string `json:"state"` CreatedAt *time.Time `json:"created_at"` } `json:"author"` Description string `json:"description"` State string `json:"state"` Assignee struct { ID int `json:"id"` Username string `json:"username"` Email string `json:"email"` Name string `json:"name"` State string `json:"state"` CreatedAt *time.Time `json:"created_at"` } `json:"assignee"` Labels []string `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"` DiscussionLocked bool `json:"discussion_locked"` }
Issue represents a GitLab issue.
GitLab API docs: https://docs.gitlab.com/ce/api/issues.html
type IssueCommentEvent ¶ added in v0.3.1
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 *Issue `json:"issue"` }
IssueCommentEvent represents a comment on an issue event.
GitLab API docs: https://docs.gitlab.com/ce/web_hooks/web_hooks.html#comment-on-issue
type IssueEvent ¶ added in v0.3.1
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"` }
IssueEvent represents a issue event.
GitLab API docs: https://docs.gitlab.com/ce/web_hooks/web_hooks.html#issues-events
type IssuesService ¶
type IssuesService struct {
// contains filtered or unexported fields
}
IssuesService handles communication with the issue related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/issues.html
func (*IssuesService) AddSpentTime ¶ added in v0.6.0
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 ¶
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 ¶
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 ¶
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 ¶ added in v0.6.0
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 ¶ added in v0.6.0
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 ¶
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) ListProjectIssues ¶
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) ResetSpentTime ¶ added in v0.6.0
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 ¶ added in v0.6.0
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 ¶ added in v0.6.0
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) UpdateIssue ¶
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 JiraService ¶ added in v0.7.0
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 ¶ added in v0.7.0
type JiraServiceProperties struct { URL *string `url:"url,omitempty" json:"url,omitempty"` ProjectKey *string `url:"project_key,omitempty" json:"project_key,omitempty" ` Username *string `url:"username,omitempty" json:"username,omitempty" ` Password *string `url:"password,omitempty" json:"password,omitempty" ` JiraIssueTransitionID *string `url:"jira_issue_transition_id,omitempty" json:"jira_issue_transition_id,omitempty"` }
JiraServiceProperties represents Jira specific properties.
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#jira
type Job ¶ added in v0.6.0
type Job struct { Commit *Commit `json:"commit"` CreatedAt *time.Time `json:"created_at"` ArtifactsFile struct { Filename string `json:"filename"` Size int `json:"size"` } `json:"artifacts_file"` FinishedAt *time.Time `json:"finished_at"` ID int `json:"id"` Name string `json:"name"` Ref string `json:"ref"` 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"` StartedAt *time.Time `json:"started_at"` Status string `json:"status"` Tag bool `json:"tag"` User *User `json:"user"` }
Job represents a ci build.
GitLab API docs: https://docs.gitlab.com/ce/api/jobs.html
type JobsService ¶ added in v0.6.0
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 ¶ added in v0.6.0
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 ¶ added in v0.6.0
func (s *JobsService) DownloadArtifactsFile(pid interface{}, refName string, job string, 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) EraseJob ¶ added in v0.6.0
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 ¶ added in v0.6.0
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 ¶ added in v0.6.0
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 ¶ added in v0.6.0
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 ¶ added in v0.6.0
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 ¶ added in v0.6.0
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 ¶ added in v0.6.0
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 ¶ added in v0.6.0
func (s *JobsService) PlayJob(pid interface{}, jobID int, options ...OptionFunc) (*Job, *Response, error)
PlayJob triggers a nanual action to start a job.
GitLab API docs: https://docs.gitlab.com/ce/api/jobs.html#play-a-job
func (*JobsService) RetryJob ¶ added in v0.6.0
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 Label ¶
type Label struct { Name string `json:"name"` Color string `json:"color"` Description string `json:"description"` OpenIssuesCount int `json:"open_issues_count"` ClosedIssuesCount int `json:"closed_issues_count"` OpenMergeRequestsCount int `json:"open_merge_requests_count"` }
Label represents a GitLab label.
GitLab API docs: https://docs.gitlab.com/ce/api/labels.html
type Labels ¶
type Labels []string
Labels is a custom type with specific marshaling characteristics.
func (*Labels) MarshalJSON ¶
MarshalJSON implements the json.Marshaler interface.
type LabelsService ¶
type LabelsService struct {
// contains filtered or unexported fields
}
LabelsService handles communication with the label related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/labels.html
func (*LabelsService) CreateLabel ¶
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 ¶
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 ¶
func (s *LabelsService) ListLabels(pid interface{}, 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) UpdateLabel ¶
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 Links ¶ added in v0.7.2
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 liks for self, issues, merge_requests, repo_branches, labels, events, members.
type ListBranchesOptions ¶ added in v0.6.0
type ListBranchesOptions struct {
ListOptions
}
ListBranchesOptions represents the available ListBranches() options.
GitLab API docs: https://docs.gitlab.com/ce/api/branches.html#list-repository-branches
type ListBuildVariablesOptions ¶ added in v0.6.0
type ListBuildVariablesOptions struct {
ListOptions
}
ListBuildVariablesOptions are the parameters to ListBuildVariables()
Gitlab API Docs: https://docs.gitlab.com/ce/api/build_variables.html#list-project-variables
type ListCommitsOptions ¶
type ListCommitsOptions struct { ListOptions RefName *string `url:"ref_name,omitempty" json:"ref_name,omitempty"` Since time.Time `url:"since,omitempty" json:"since,omitempty"` Until time.Time `url:"until,omitempty" json:"until,omitempty"` }
ListCommitsOptions represents the available ListCommits() options.
GitLab API docs: https://docs.gitlab.com/ce/api/commits.html#list-repository-commits
type ListEnvironmentsOptions ¶ added in v0.7.0
type ListEnvironmentsOptions struct {
ListOptions
}
ListEnvironmentsOptions represents the available ListEnvironments() options.
GitLab API docs: https://docs.gitlab.com/ee/api/environments.html#list-environments
type ListGroupIssuesOptions ¶ added in v0.6.0
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"` }
ListGroupIssuesOptions represents the available ListGroupIssues() options.
GitLab API docs: https://docs.gitlab.com/ce/api/issues.html#list-group-issues
type ListGroupMembersOptions ¶ added in v0.4.0
type ListGroupMembersOptions struct {
ListOptions
}
ListGroupMembersOptions represents the available ListGroupMembers() options.
GitLab API docs: https://docs.gitlab.com/ce/api/members.html#list-all-members-of-a-group-or-project
type ListGroupProjectsOptions ¶ added in v0.4.0
type ListGroupProjectsOptions struct {
ListOptions
}
ListGroupProjectsOptions represents the available ListGroupProjects() options.
GitLab API docs: https://docs.gitlab.com/ce/api/groups.html#list-a-group-s-projects
type ListGroupsOptions ¶
type ListGroupsOptions struct { ListOptions AllAvailable *bool `url:"all_available,omitempty" json:"all_available,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"` Sort *string `url:"sort,omitempty" json:"sort,omitempty"` Statistics *bool `url:"statistics,omitempty" json:"statistics,omitempty"` }
ListGroupsOptions represents the available ListGroups() options.
GitLab API docs: https://docs.gitlab.com/ce/api/groups.html#list-project-groups
type ListIssueNotesOptions ¶
type ListIssueNotesOptions struct {
ListOptions
}
ListIssueNotesOptions represents the available ListIssueNotes() options.
GitLab API docs: https://docs.gitlab.com/ce/api/notes.html#list-project-issue-notes
type ListIssuesOptions ¶
type ListIssuesOptions struct { ListOptions State *string `url:"state,omitempty" json:"state,omitempty"` Labels Labels `url:"labels,comma,omitempty" json:"labels,omitempty"` Milestone *string `url:"milestone,omitempty" json:"milestone,omitempty"` Scope *string `url:"scope,omitempty" json:"scope,omitempty"` AuthorID *int `url:"author_id,omitempty" json:"author_id,omitempty"` 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"` }
ListIssuesOptions represents the available ListIssues() options.
GitLab API docs: https://docs.gitlab.com/ce/api/issues.html#list-issues
type ListJobsOptions ¶ added in v0.6.0
type ListJobsOptions struct { ListOptions Scope []BuildState `url:"scope,omitempty" json:"scope,omitempty"` }
ListJobsOptions are options for two list apis
type ListMergeRequestsOptions ¶
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,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"` 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"` }
ListMergeRequestsOptions represents the available ListMergeRequests() options.
GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#list-merge-requests
type ListMilestonesOptions ¶
type ListMilestonesOptions struct { ListOptions IIDs []int `url:"iids,omitempty" json:"iids,omitempty"` }
ListMilestonesOptions represents the available ListMilestones() options.
GitLab API docs: https://docs.gitlab.com/ce/api/milestones.html#list-project-milestones
type ListNamespacesOptions ¶
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 ¶
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 ListPipelineTriggersOptions ¶ added in v0.6.0
type ListPipelineTriggersOptions struct {
ListOptions
}
ListPipelineTriggersOptions represents the available ListPipelineTriggers() options.
GitLab API docs: https://docs.gitlab.com/ce/api/pipeline_triggers.html#list-project-triggers
type ListProjectHooksOptions ¶
type ListProjectHooksOptions struct {
ListOptions
}
ListProjectHooksOptions represents the available ListProjectHooks() options.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#list-project-hooks
type ListProjectIssuesOptions ¶
type ListProjectIssuesOptions struct { ListOptions IIDs []int `url:"iids[],omitempty" json:"iids,omitempty"` State *string `url:"state,omitempty" json:"state,omitempty"` Labels Labels `url:"labels,comma,omitempty" json:"labels,omitempty"` Milestone *string `url:"milestone,omitempty" json:"milestone,omitempty"` Scope *string `url:"scope,omitempty" json:"scope,omitempty"` AuthorID *int `url:"author_id,omitempty" json:"author_id,omitempty"` 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"` CreatedAfter *time.Time `url:"created_after,omitempty" json:"created_after,omitempty"` CreatedBefore *time.Time `url:"created_before,omitempty" json:"created_before,omitempty"` }
ListProjectIssuesOptions represents the available ListProjectIssues() options.
GitLab API docs: https://docs.gitlab.com/ce/api/issues.html#list-project-issues
type ListProjectMembersOptions ¶
type ListProjectMembersOptions struct { ListOptions Query *string `url:"query,omitempty" json:"query,omitempty"` }
ListProjectMembersOptions represents the available ListProjectMembers() options.
GitLab API docs: https://docs.gitlab.com/ce/api/members.html#list-all-members-of-a-group-or-project
type ListProjectMergeRequestsOptions ¶ added in v0.6.2
type ListProjectMergeRequestsOptions struct { ListOptions IIDs []int `url:"iids[],omitempty" json:"iids,omitempty"` State *string `url:"state,omitempty" json:"state,omitempty"` OrderBy *string `url:"order_by,omitempty" json:"order_by,omitempty"` Sort *string `url:"sort,omitempty" json:"sort,omitempty"` Milestone *string `url:"milestone,omitempty" json:"milestone,omitempty"` View *string `url:"view,omitempty" json:"view,omitempty"` Labels 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"` 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"` }
ListProjectMergeRequestsOptions represents the available ListMergeRequests() options.
GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#list-project-merge-requests
type ListProjectSnippetsOptions ¶ added in v0.7.2
type ListProjectSnippetsOptions struct {
ListOptions
}
ListSnippetsOptions represents the available ListSnippets() options.
GitLab API docs: https://docs.gitlab.com/ce/api/project_snippets.html#list-snippets
type ListProjectsOptions ¶
type ListProjectsOptions struct { ListOptions Archived *bool `url:"archived,omitempty" json:"archived,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"` Membership *bool `url:"membership,omitempty" json:"membership,omitempty"` Starred *bool `url:"starred,omitempty" json:"starred,omitempty"` Statistics *bool `url:"statistics,omitempty" json:"statistics,omitempty"` Visibility *VisibilityValue `url:"visibility,omitempty" json:"visibility,omitempty"` }
ListProjectsOptions represents the available ListProjects() options.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#list-projects
type ListSnippetsOptions ¶
type ListSnippetsOptions struct {
ListOptions
}
ListSnippetsOptions represents the available ListSnippets() options.
GitLab API docs: https://docs.gitlab.com/ce/api/snippets.html#list-snippets
type ListTodosOptions ¶ added in v0.6.0
type ListTodosOptions struct { Action *TodoAction `url:"action,omitempty" json:"action,omitempty"` AuthorID *int `url:"author_id,omitempty" json:"author_id,omitempty"` ProjectID *int `url:"project_id,omitempty" json:"project_id,omitempty"` State *string `url:"state,omitempty" json:"state,omitempty"` Type *string `url:"type,omitempty" json:"type,omitempty"` }
ListTodosOptions represents the available ListTodos() options.
GitLab API docs: https://docs.gitlab.com/ce/api/todos.html#get-a-list-of-todos
type ListTreeOptions ¶
type ListTreeOptions struct { Path *string `url:"path,omitempty" json:"path,omitempty"` Ref *string `url:"ref,omitempty" json:"ref,omitempty"` Recursive *bool `url:"recursive,omitempty" json:"recursive,omitempty"` }
ListTreeOptions represents the available ListTree() options.
GitLab API docs: https://docs.gitlab.com/ce/api/repositories.html#list-repository-tree
type ListUsersOptions ¶
type ListUsersOptions struct { ListOptions Active *bool `url:"active,omitempty" json:"active,omitempty"` Blocked *bool `url:"blocked,omitempty" json:"blocked,omitempty"` Search *string `url:"search,omitempty" json:"search,omitempty"` Username *string `url:"username,omitempty" json:"username,omitempty"` }
ListUsersOptions represents the available ListUsers() options.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#list-users
type ListWikisOptions ¶ added in v0.7.0
type ListWikisOptions struct {
WithContent *bool `url:"with_content,omitempty" json:"with_content,omitempty"`
}
ListWikisOptions represents the available ListWikis options.
GitLab API docs: https://docs.gitlab.com/ce/api/wikis.html#list-wiki-pages
type MergeCommentEvent ¶ added in v0.3.1
type MergeCommentEvent 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"` 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"` Repository *Repository `json:"repository"` MergeRequest struct { ID int `json:"id"` TargetBranch string `json:"target_branch"` SourceBranch string `json:"source_branch"` SourceProjectID int `json:"source_project_id"` AuthorID int `json:"author_id"` AssigneeID int `json:"assignee_id"` Title string `json:"title"` CreatedAt string `json:"created_at"` UpdatedAt string `json:"updated_at"` MilestoneID int `json:"milestone_id"` State string `json:"state"` MergeStatus string `json:"merge_status"` TargetProjectID int `json:"target_project_id"` IID int `json:"iid"` Description string `json:"description"` Position int `json:"position"` LockedAt string `json:"locked_at"` UpdatedByID int `json:"updated_by_id"` MergeError string `json:"merge_error"` MergeParams struct { ForceRemoveSourceBranch string `json:"force_remove_source_branch"` } `json:"merge_params"` MergeWhenPipelineSucceeds bool `json:"merge_when_pipeline_succeeds"` MergeUserID int `json:"merge_user_id"` MergeCommitSha string `json:"merge_commit_sha"` DeletedAt string `json:"deleted_at"` InProgressMergeCommitSha string `json:"in_progress_merge_commit_sha"` LockVersion int `json:"lock_version"` ApprovalsBeforeMerge string `json:"approvals_before_merge"` RebaseCommitSha string `json:"rebase_commit_sha"` TimeEstimate int `json:"time_estimate"` Squash bool `json:"squash"` LastEditedAt string `json:"last_edited_at"` LastEditedByID int `json:"last_edited_by_id"` Source *Repository `json:"source"` Target *Repository `json:"target"` LastCommit struct { ID string `json:"id"` Message string `json:"message"` Timestamp *time.Time `json:"timestamp"` URL string `json:"url"` Author *Author `json:"author"` } `json:"last_commit"` WorkInProgress bool `json:"work_in_progress"` TotalTimeSpent int `json:"total_time_spent"` } `json:"merge_request"` }
MergeCommentEvent represents a comment on a merge event.
GitLab API docs: https://docs.gitlab.com/ce/web_hooks/web_hooks.html#comment-on-merge-request
type MergeEvent ¶ added in v0.3.1
type MergeEvent 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"` ObjectAttributes struct { ID int `json:"id"` TargetBranch string `json:"target_branch"` SourceBranch string `json:"source_branch"` SourceProjectID int `json:"source_project_id"` AuthorID int `json:"author_id"` AssigneeID int `json:"assignee_id"` Title string `json:"title"` CreatedAt string `json:"created_at"` // Should be *time.Time (see Gitlab issue #21468) UpdatedAt string `json:"updated_at"` // Should be *time.Time (see Gitlab issue #21468) StCommits []*Commit `json:"st_commits"` StDiffs []*Diff `json:"st_diffs"` MilestoneID int `json:"milestone_id"` State string `json:"state"` MergeStatus string `json:"merge_status"` TargetProjectID int `json:"target_project_id"` IID int `json:"iid"` Description string `json:"description"` Position int `json:"position"` LockedAt string `json:"locked_at"` UpdatedByID int `json:"updated_by_id"` MergeError string `json:"merge_error"` MergeParams struct { ForceRemoveSourceBranch string `json:"force_remove_source_branch"` } `json:"merge_params"` MergeWhenBuildSucceeds bool `json:"merge_when_build_succeeds"` MergeUserID int `json:"merge_user_id"` MergeCommitSha string `json:"merge_commit_sha"` DeletedAt string `json:"deleted_at"` ApprovalsBeforeMerge string `json:"approvals_before_merge"` RebaseCommitSha string `json:"rebase_commit_sha"` InProgressMergeCommitSha string `json:"in_progress_merge_commit_sha"` LockVersion int `json:"lock_version"` TimeEstimate int `json:"time_estimate"` Source *Repository `json:"source"` Target *Repository `json:"target"` LastCommit struct { ID string `json:"id"` Message string `json:"message"` Timestamp *time.Time `json:"timestamp"` URL string `json:"url"` Author *Author `json:"author"` } `json:"last_commit"` WorkInProgress bool `json:"work_in_progress"` URL string `json:"url"` Action string `json:"action"` Assignee struct { Name string `json:"name"` Username string `json:"username"` AvatarURL string `json:"avatar_url"` } `json:"assignee"` } `json:"object_attributes"` Repository *Repository `json:"repository"` Assignee struct { Name string `json:"name"` Username string `json:"username"` AvatarURL string `json:"avatar_url"` } `json:"assignee"` }
MergeEvent represents a merge event.
GitLab API docs: https://docs.gitlab.com/ce/web_hooks/web_hooks.html#merge-request-events
type MergeRequest ¶
type MergeRequest struct { ID int `json:"id"` IID int `json:"iid"` TargetBranch string `json:"target_branch"` SourceBranch string `json:"source_branch"` ProjectID int `json:"project_id"` Title string `json:"title"` State string `json:"state"` CreatedAt *time.Time `json:"created_at"` UpdatedAt *time.Time `json:"updated_at"` Upvotes int `json:"upvotes"` Downvotes int `json:"downvotes"` Author struct { ID int `json:"id"` Username string `json:"username"` Name string `json:"name"` State string `json:"state"` CreatedAt *time.Time `json:"created_at"` } `json:"author"` Assignee struct { ID int `json:"id"` Username string `json:"username"` Name string `json:"name"` State string `json:"state"` CreatedAt *time.Time `json:"created_at"` } `json:"assignee"` SourceProjectID int `json:"source_project_id"` TargetProjectID int `json:"target_project_id"` Labels []string `json:"labels"` Description string `json:"description"` WorkInProgress bool `json:"work_in_progress"` Milestone *Milestone `json:"milestone"` MergeWhenPipelineSucceeds bool `json:"merge_when_pipeline_succeeds"` MergeStatus string `json:"merge_status"` Subscribed bool `json:"subscribed"` SHA string `json:"sha"` MergeCommitShaSHA string `json:"merge_commit_sha"` UserNotesCount int `json:"user_notes_count"` ChangesCount int `json:"changes_count"` SouldRemoveSourceBranch bool `json:"should_remove_source_branch"` ForceRemoveSourceBranch bool `json:"force_remove_source_branch"` WebURL string `json:"web_url"` DiscussionLocked bool `json:"discussion_locked"` Changes []struct { OldPath string `json:"old_path"` NewPath string `json:"new_path"` AMode string `json:"a_mode"` BMode string `json:"b_mode"` Diff string `json:"diff"` NewFile bool `json:"new_file"` RenamedFile bool `json:"renamed_file"` DeletedFile bool `json:"deleted_file"` } `json:"changes"` }
MergeRequest represents a GitLab merge request.
GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html
func (MergeRequest) String ¶
func (m MergeRequest) String() string
type MergeRequestApprovals ¶ added in v0.6.2
type MergeRequestApprovals struct { ID int `json:"id"` ProjectID int `json:"project_id"` Title string `json:"title"` Description string `json:"description"` State string `json:"state"` CreatedAt *time.Time `json:"created_at"` UpdatedAt *time.Time `json:"updated_at"` MergeStatus string `json:"merge_status"` ApprovalsRequired int `json:"approvals_required"` ApprovalsMissing int `json:"approvals_missing"` ApprovedBy []struct { 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"` } `json:"approved_by"` }
MergeRequestApprovals represents GitLab merge request approvals.
GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#merge-request-approvals
func (MergeRequestApprovals) String ¶ added in v0.6.2
func (m MergeRequestApprovals) String() string
type MergeRequestsService ¶
type MergeRequestsService struct {
// contains filtered or unexported fields
}
MergeRequestsService handles communication with the merge requests related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html
func (*MergeRequestsService) AcceptMergeRequest ¶
func (s *MergeRequestsService) AcceptMergeRequest(pid interface{}, mergeRequest int, opt *AcceptMergeRequestOptions, options ...OptionFunc) (*MergeRequest, *Response, error)
AcceptMergeRequest merges changes submitted with MR using this API. If merge success you get 200 OK. If it has some conflicts and can not be merged - you get 405 and error message 'Branch cannot be merged'. If merge request is already merged or closed - you get 405 and error message 'Method Not Allowed'
GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#accept-mr
func (*MergeRequestsService) AddSpentTime ¶ added in v0.6.0
func (s *MergeRequestsService) AddSpentTime(pid interface{}, mergeRequest int, opt *AddSpentTimeOptions, options ...OptionFunc) (*TimeStats, *Response, error)
AddSpentTime adds spent time for a single project merge request.
GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#add-spent-time-for-a-merge-request
func (*MergeRequestsService) CreateMergeRequest ¶
func (s *MergeRequestsService) CreateMergeRequest(pid interface{}, opt *CreateMergeRequestOptions, options ...OptionFunc) (*MergeRequest, *Response, error)
CreateMergeRequest creates a new merge request.
GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#create-mr
func (*MergeRequestsService) GetIssuesClosedOnMerge ¶ added in v0.7.3
func (s *MergeRequestsService) GetIssuesClosedOnMerge(pid interface{}, mergeRequest int, options ...OptionFunc) ([]*Issue, *Response, error)
GetIssuesClosedOnMerge gets all the issues that would be closed by merging the provided merge request.
GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#list-issues-that-will-close-on-merge
func (*MergeRequestsService) GetMergeRequest ¶
func (s *MergeRequestsService) GetMergeRequest(pid interface{}, mergeRequest int, options ...OptionFunc) (*MergeRequest, *Response, error)
GetMergeRequest shows information about a single merge request.
GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#get-single-mr
func (*MergeRequestsService) GetMergeRequestApprovals ¶ added in v0.6.2
func (s *MergeRequestsService) GetMergeRequestApprovals(pid interface{}, mergeRequest int, options ...OptionFunc) (*MergeRequestApprovals, *Response, error)
GetMergeRequestApprovals gets information about a merge requests approvals
GitLab API docs: https://docs.gitlab.com/ee/api/merge_requests.html#merge-request-approvals
func (*MergeRequestsService) GetMergeRequestChanges ¶
func (s *MergeRequestsService) GetMergeRequestChanges(pid interface{}, mergeRequest int, options ...OptionFunc) (*MergeRequest, *Response, error)
GetMergeRequestChanges shows information about the merge request including its files and changes.
GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#get-single-mr-changes
func (*MergeRequestsService) GetMergeRequestCommits ¶ added in v0.4.0
func (s *MergeRequestsService) GetMergeRequestCommits(pid interface{}, mergeRequest int, options ...OptionFunc) ([]*Commit, *Response, error)
GetMergeRequestCommits gets a list of merge request commits.
GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#get-single-mr-commits
func (*MergeRequestsService) GetTimeSpent ¶ added in v0.6.0
func (s *MergeRequestsService) GetTimeSpent(pid interface{}, mergeRequest int, options ...OptionFunc) (*TimeStats, *Response, error)
GetTimeSpent gets the spent time for a single project merge request.
GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#get-time-tracking-stats
func (*MergeRequestsService) ListMergeRequests ¶
func (s *MergeRequestsService) ListMergeRequests(opt *ListMergeRequestsOptions, options ...OptionFunc) ([]*MergeRequest, *Response, error)
ListMergeRequests gets all merge requests. The state parameter can be used to get only merge requests with a given state (opened, closed, or merged) or all of them (all). The pagination parameters page and per_page can be used to restrict the list of merge requests.
GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#list-merge-requests
func (*MergeRequestsService) ListProjectMergeRequests ¶ added in v0.6.2
func (s *MergeRequestsService) ListProjectMergeRequests(pid interface{}, opt *ListProjectMergeRequestsOptions, options ...OptionFunc) ([]*MergeRequest, *Response, error)
ListProjectMergeRequests gets all merge requests for this project. The state parameter can be used to get only merge requests with a given state (opened, closed, or merged) or all of them (all). The pagination parameters page and per_page can be used to restrict the list of merge requests.
GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#list-merge-requests
func (*MergeRequestsService) ResetSpentTime ¶ added in v0.6.0
func (s *MergeRequestsService) ResetSpentTime(pid interface{}, mergeRequest int, options ...OptionFunc) (*TimeStats, *Response, error)
ResetSpentTime resets the spent time for a single project merge request.
GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#reset-spent-time-for-a-merge-request
func (*MergeRequestsService) ResetTimeEstimate ¶ added in v0.6.0
func (s *MergeRequestsService) ResetTimeEstimate(pid interface{}, mergeRequest int, options ...OptionFunc) (*TimeStats, *Response, error)
ResetTimeEstimate resets the time estimate for a single project merge request.
GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#reset-the-time-estimate-for-a-merge-request
func (*MergeRequestsService) SetTimeEstimate ¶ added in v0.6.0
func (s *MergeRequestsService) SetTimeEstimate(pid interface{}, mergeRequest int, opt *SetTimeEstimateOptions, options ...OptionFunc) (*TimeStats, *Response, error)
SetTimeEstimate sets the time estimate for a single project merge request.
GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#set-a-time-estimate-for-a-merge-request
func (*MergeRequestsService) UpdateMergeRequest ¶
func (s *MergeRequestsService) UpdateMergeRequest(pid interface{}, mergeRequest int, opt *UpdateMergeRequestOptions, options ...OptionFunc) (*MergeRequest, *Response, error)
UpdateMergeRequest updates an existing project milestone.
GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#update-mr
type Milestone ¶
type Milestone struct { ID int `json:"id"` IID int `json:"iid"` ProjectID int `json:"project_id"` Title string `json:"title"` Description string `json:"description"` StartDate string `json:"start_date"` DueDate string `json:"due_date"` State string `json:"state"` UpdatedAt *time.Time `json:"updated_at"` CreatedAt *time.Time `json:"created_at"` }
Milestone represents a GitLab milestone.
GitLab API docs: https://docs.gitlab.com/ce/api/milestones.html
type MilestonesService ¶
type MilestonesService struct {
// contains filtered or unexported fields
}
MilestonesService handles communication with the milestone related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/milestones.html
func (*MilestonesService) CreateMilestone ¶
func (s *MilestonesService) CreateMilestone(pid interface{}, opt *CreateMilestoneOptions, options ...OptionFunc) (*Milestone, *Response, error)
CreateMilestone creates a new project milestone.
GitLab API docs: https://docs.gitlab.com/ce/api/milestones.html#create-new-milestone
func (*MilestonesService) GetMilestone ¶
func (s *MilestonesService) GetMilestone(pid interface{}, milestone int, options ...OptionFunc) (*Milestone, *Response, error)
GetMilestone gets a single project milestone.
GitLab API docs: https://docs.gitlab.com/ce/api/milestones.html#get-single-milestone
func (*MilestonesService) GetMilestoneIssues ¶
func (s *MilestonesService) GetMilestoneIssues(pid interface{}, milestone int, opt *GetMilestoneIssuesOptions, options ...OptionFunc) ([]*Issue, *Response, error)
GetMilestoneIssues gets all issues assigned to a single project milestone.
GitLab API docs: https://docs.gitlab.com/ce/api/milestones.html#get-all-issues-assigned-to-a-single-milestone
func (*MilestonesService) ListMilestones ¶
func (s *MilestonesService) ListMilestones(pid interface{}, opt *ListMilestonesOptions, options ...OptionFunc) ([]*Milestone, *Response, error)
ListMilestones returns a list of project milestones.
GitLab API docs: https://docs.gitlab.com/ce/api/milestones.html#list-project-milestones
func (*MilestonesService) UpdateMilestone ¶
func (s *MilestonesService) UpdateMilestone(pid interface{}, milestone int, opt *UpdateMilestoneOptions, options ...OptionFunc) (*Milestone, *Response, error)
UpdateMilestone updates an existing project milestone.
GitLab API docs: https://docs.gitlab.com/ce/api/milestones.html#edit-milestone
type ModifyUserOptions ¶
type ModifyUserOptions struct { Email *string `url:"email,omitempty" json:"email,omitempty"` Password *string `url:"password,omitempty" json:"password,omitempty"` Username *string `url:"username,omitempty" json:"username,omitempty"` Name *string `url:"name,omitempty" json:"name,omitempty"` Skype *string `url:"skype,omitempty" json:"skype,omitempty"` Linkedin *string `url:"linkedin,omitempty" json:"linkedin,omitempty"` Twitter *string `url:"twitter,omitempty" json:"twitter,omitempty"` WebsiteURL *string `url:"website_url,omitempty" json:"website_url,omitempty"` Organization *string `url:"organization,omitempty" json:"organization,omitempty"` 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"` External *bool `url:"external,omitempty" json:"external,omitempty"` }
ModifyUserOptions represents the available ModifyUser() options.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#user-modification
type Namespace ¶
Namespace represents a GitLab namespace.
GitLab API docs: https://docs.gitlab.com/ce/api/namespaces.html
type NamespacesService ¶
type NamespacesService struct {
// contains filtered or unexported fields
}
NamespacesService handles communication with the namespace related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/namespaces.html
func (*NamespacesService) ListNamespaces ¶
func (s *NamespacesService) ListNamespaces(opt *ListNamespacesOptions, options ...OptionFunc) ([]*Namespace, *Response, error)
ListNamespaces gets a list of projects accessible by the authenticated user.
GitLab API docs: https://docs.gitlab.com/ce/api/namespaces.html#list-namespaces
func (*NamespacesService) SearchNamespace ¶
func (s *NamespacesService) SearchNamespace(query string, options ...OptionFunc) ([]*Namespace, *Response, error)
SearchNamespace gets all namespaces that match your string in their name or path.
GitLab API docs: https://docs.gitlab.com/ce/api/namespaces.html#search-for-namespace
type Note ¶
type Note struct { ID int `json:"id"` Body string `json:"body"` Attachment string `json:"attachment"` Title string `json:"title"` FileName string `json:"file_name"` Author struct { ID int `json:"id"` Username string `json:"username"` Email string `json:"email"` Name string `json:"name"` State string `json:"state"` CreatedAt *time.Time `json:"created_at"` } `json:"author"` System bool `json:"system"` ExpiresAt *time.Time `json:"expires_at"` UpdatedAt *time.Time `json:"updated_at"` CreatedAt *time.Time `json:"created_at"` }
Note represents a GitLab note.
GitLab API docs: https://docs.gitlab.com/ce/api/notes.html
type NotesService ¶
type NotesService struct {
// contains filtered or unexported fields
}
NotesService handles communication with the notes related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/notes.html
func (*NotesService) CreateIssueNote ¶
func (s *NotesService) CreateIssueNote(pid interface{}, issue int, opt *CreateIssueNoteOptions, options ...OptionFunc) (*Note, *Response, error)
CreateIssueNote creates a new note to a single project issue.
GitLab API docs: https://docs.gitlab.com/ce/api/notes.html#create-new-issue-note
func (*NotesService) CreateMergeRequestNote ¶
func (s *NotesService) CreateMergeRequestNote(pid interface{}, mergeRequest int, opt *CreateMergeRequestNoteOptions, options ...OptionFunc) (*Note, *Response, error)
CreateMergeRequestNote creates a new note for a single merge request.
GitLab API docs: https://docs.gitlab.com/ce/api/notes.html#create-new-merge-request-note
func (*NotesService) CreateSnippetNote ¶
func (s *NotesService) CreateSnippetNote(pid interface{}, snippet int, opt *CreateSnippetNoteOptions, options ...OptionFunc) (*Note, *Response, error)
CreateSnippetNote creates a new note for a single snippet. Snippet notes are comments users can post to a snippet.
GitLab API docs: https://docs.gitlab.com/ce/api/notes.html#create-new-snippet-note
func (*NotesService) DeleteIssueNote ¶ added in v0.6.0
func (s *NotesService) DeleteIssueNote(pid interface{}, issue, note int, options ...OptionFunc) (*Response, error)
DeleteIssueNote deletes an existing note of an issue.
https://docs.gitlab.com/ce/api/notes.html#delete-an-issue-note
func (*NotesService) DeleteMergeRequestNote ¶ added in v0.6.0
func (s *NotesService) DeleteMergeRequestNote(pid interface{}, mergeRequest, note int, options ...OptionFunc) (*Response, error)
DeleteMergeRequestNote deletes an existing note of a merge request.
https://docs.gitlab.com/ce/api/notes.html#delete-a-merge-request-note
func (*NotesService) DeleteSnippetNote ¶ added in v0.6.0
func (s *NotesService) DeleteSnippetNote(pid interface{}, snippet, note int, options ...OptionFunc) (*Response, error)
DeleteSnippetNote deletes an existing note of a snippet.
https://docs.gitlab.com/ce/api/notes.html#delete-a-snippet-note
func (*NotesService) GetIssueNote ¶
func (s *NotesService) GetIssueNote(pid interface{}, issue, note int, options ...OptionFunc) (*Note, *Response, error)
GetIssueNote returns a single note for a specific project issue.
GitLab API docs: https://docs.gitlab.com/ce/api/notes.html#get-single-issue-note
func (*NotesService) GetMergeRequestNote ¶
func (s *NotesService) GetMergeRequestNote(pid interface{}, mergeRequest, note int, options ...OptionFunc) (*Note, *Response, error)
GetMergeRequestNote returns a single note for a given merge request.
GitLab API docs: https://docs.gitlab.com/ce/api/notes.html#get-single-merge-request-note
func (*NotesService) GetSnippetNote ¶
func (s *NotesService) GetSnippetNote(pid interface{}, snippet, note int, options ...OptionFunc) (*Note, *Response, error)
GetSnippetNote returns a single note for a given snippet.
GitLab API docs: https://docs.gitlab.com/ce/api/notes.html#get-single-snippet-note
func (*NotesService) ListIssueNotes ¶
func (s *NotesService) ListIssueNotes(pid interface{}, issue int, opt *ListIssueNotesOptions, options ...OptionFunc) ([]*Note, *Response, error)
ListIssueNotes gets a list of all notes for a single issue.
GitLab API docs: https://docs.gitlab.com/ce/api/notes.html#list-project-issue-notes
func (*NotesService) ListMergeRequestNotes ¶
func (s *NotesService) ListMergeRequestNotes(pid interface{}, mergeRequest int, options ...OptionFunc) ([]*Note, *Response, error)
ListMergeRequestNotes gets a list of all notes for a single merge request.
GitLab API docs: https://docs.gitlab.com/ce/api/notes.html#list-all-merge-request-notes
func (*NotesService) ListSnippetNotes ¶
func (s *NotesService) ListSnippetNotes(pid interface{}, snippet int, options ...OptionFunc) ([]*Note, *Response, error)
ListSnippetNotes gets a list of all notes for a single snippet. Snippet notes are comments users can post to a snippet.
GitLab API docs: https://docs.gitlab.com/ce/api/notes.html#list-all-snippet-notes
func (*NotesService) UpdateIssueNote ¶
func (s *NotesService) UpdateIssueNote(pid interface{}, issue, note int, opt *UpdateIssueNoteOptions, options ...OptionFunc) (*Note, *Response, error)
UpdateIssueNote modifies existing note of an issue.
https://docs.gitlab.com/ce/api/notes.html#modify-existing-issue-note
func (*NotesService) UpdateMergeRequestNote ¶
func (s *NotesService) UpdateMergeRequestNote(pid interface{}, mergeRequest, note int, opt *UpdateMergeRequestNoteOptions, options ...OptionFunc) (*Note, *Response, error)
UpdateMergeRequestNote modifies existing note of a merge request.
https://docs.gitlab.com/ce/api/notes.html#modify-existing-merge-request-note
func (*NotesService) UpdateSnippetNote ¶
func (s *NotesService) UpdateSnippetNote(pid interface{}, snippet, note int, opt *UpdateSnippetNoteOptions, options ...OptionFunc) (*Note, *Response, error)
UpdateSnippetNote modifies existing note of a snippet.
https://docs.gitlab.com/ce/api/notes.html#modify-existing-snippet-note
type NotificationEvents ¶ added in v0.4.0
type NotificationEvents struct { CloseIssue bool `json:"close_issue"` CloseMergeRequest bool `json:"close_merge_request"` FailedPipeline bool `json:"failed_pipeline"` MergeMergeRequest bool `json:"merge_merge_request"` NewIssue bool `json:"new_issue"` NewMergeRequest bool `json:"new_merge_request"` NewNote bool `json:"new_note"` ReassignIssue bool `json:"reassign_issue"` ReassignMergeRequest bool `json:"reassign_merge_request"` ReopenIssue bool `json:"reopen_issue"` ReopenMergeRequest bool `json:"reopen_merge_request"` SuccessPipeline bool `json:"success_pipeline"` }
NotificationEvents represents the available notification setting events.
GitLab API docs: https://docs.gitlab.com/ce/api/notification_settings.html#notification-settings
type NotificationLevelValue ¶ added in v0.2.0
type NotificationLevelValue int
NotificationLevelValue represents a notification level.
const ( DisabledNotificationLevel NotificationLevelValue = iota ParticipatingNotificationLevel WatchNotificationLevel GlobalNotificationLevel MentionNotificationLevel CustomNotificationLevel )
List of valid notification levels.
func NotificationLevel ¶
func NotificationLevel(v NotificationLevelValue) *NotificationLevelValue
NotificationLevel is a helper routine that allocates a new NotificationLevelValue to store v and returns a pointer to it.
func (NotificationLevelValue) MarshalJSON ¶ added in v0.4.0
func (l NotificationLevelValue) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
func (NotificationLevelValue) String ¶ added in v0.4.0
func (l NotificationLevelValue) String() string
String implements the fmt.Stringer interface.
func (*NotificationLevelValue) UnmarshalJSON ¶ added in v0.4.0
func (l *NotificationLevelValue) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the json.Unmarshaler interface.
type NotificationSettings ¶ added in v0.4.0
type NotificationSettings struct { Level NotificationLevelValue `json:"level"` NotificationEmail string `json:"notification_email"` Events *NotificationEvents `json:"events"` }
NotificationSettings represents the Gitlab notification setting.
GitLab API docs: https://docs.gitlab.com/ce/api/notification_settings.html#notification-settings
func (NotificationSettings) String ¶ added in v0.4.0
func (ns NotificationSettings) String() string
type NotificationSettingsOptions ¶ added in v0.4.0
type NotificationSettingsOptions struct { Level *NotificationLevelValue `url:"level,omitempty" json:"level,omitempty"` NotificationEmail *string `url:"notification_email,omitempty" json:"notification_email,omitempty"` CloseIssue *bool `url:"close_issue,omitempty" json:"close_issue,omitempty"` CloseMergeRequest *bool `url:"close_merge_request,omitempty" json:"close_merge_request,omitempty"` FailedPipeline *bool `url:"failed_pipeline,omitempty" json:"failed_pipeline,omitempty"` MergeMergeRequest *bool `url:"merge_merge_request,omitempty" json:"merge_merge_request,omitempty"` NewIssue *bool `url:"new_issue,omitempty" json:"new_issue,omitempty"` NewMergeRequest *bool `url:"new_merge_request,omitempty" json:"new_merge_request,omitempty"` NewNote *bool `url:"new_note,omitempty" json:"new_note,omitempty"` ReassignIssue *bool `url:"reassign_issue,omitempty" json:"reassign_issue,omitempty"` ReassignMergeRequest *bool `url:"reassign_merge_request,omitempty" json:"reassign_merge_request,omitempty"` ReopenIssue *bool `url:"reopen_issue,omitempty" json:"reopen_issue,omitempty"` ReopenMergeRequest *bool `url:"reopen_merge_request,omitempty" json:"reopen_merge_request,omitempty"` SuccessPipeline *bool `url:"success_pipeline,omitempty" json:"success_pipeline,omitempty"` }
NotificationSettingsOptions represents the available options that can be passed to the API when updating the notification settings.
type NotificationSettingsService ¶ added in v0.4.0
type NotificationSettingsService struct {
// contains filtered or unexported fields
}
NotificationSettingsService handles communication with the notification settings related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/notification_settings.html
func (*NotificationSettingsService) GetGlobalSettings ¶ added in v0.4.0
func (s *NotificationSettingsService) GetGlobalSettings(options ...OptionFunc) (*NotificationSettings, *Response, error)
GetGlobalSettings returns current notification settings and email address.
GitLab API docs: https://docs.gitlab.com/ce/api/notification_settings.html#global-notification-settings
func (*NotificationSettingsService) GetSettingsForGroup ¶ added in v0.4.0
func (s *NotificationSettingsService) GetSettingsForGroup(gid interface{}, options ...OptionFunc) (*NotificationSettings, *Response, error)
GetSettingsForGroup returns current group notification settings.
GitLab API docs: https://docs.gitlab.com/ce/api/notification_settings.html#group-project-level-notification-settings
func (*NotificationSettingsService) GetSettingsForProject ¶ added in v0.4.0
func (s *NotificationSettingsService) GetSettingsForProject(pid interface{}, options ...OptionFunc) (*NotificationSettings, *Response, error)
GetSettingsForProject returns current project notification settings.
GitLab API docs: https://docs.gitlab.com/ce/api/notification_settings.html#group-project-level-notification-settings
func (*NotificationSettingsService) UpdateGlobalSettings ¶ added in v0.4.0
func (s *NotificationSettingsService) UpdateGlobalSettings(opt *NotificationSettingsOptions, options ...OptionFunc) (*NotificationSettings, *Response, error)
UpdateGlobalSettings updates current notification settings and email address.
GitLab API docs: https://docs.gitlab.com/ce/api/notification_settings.html#update-global-notification-settings
func (*NotificationSettingsService) UpdateSettingsForGroup ¶ added in v0.4.0
func (s *NotificationSettingsService) UpdateSettingsForGroup(gid interface{}, opt *NotificationSettingsOptions, options ...OptionFunc) (*NotificationSettings, *Response, error)
UpdateSettingsForGroup updates current group notification settings.
GitLab API docs: https://docs.gitlab.com/ce/api/notification_settings.html#update-group-project-level-notification-settings
func (*NotificationSettingsService) UpdateSettingsForProject ¶ added in v0.4.0
func (s *NotificationSettingsService) UpdateSettingsForProject(pid interface{}, opt *NotificationSettingsOptions, options ...OptionFunc) (*NotificationSettings, *Response, error)
UpdateSettingsForProject updates current project notification settings.
GitLab API docs: https://docs.gitlab.com/ce/api/notification_settings.html#update-group-project-level-notification-settings
type OptionFunc ¶ added in v0.4.0
OptionFunc can be passed to all API requests to make the API call as if you were another user, provided your private token is from an administrator account.
GitLab docs: https://docs.gitlab.com/ce/api/README.html#sudo
func WithContext ¶ added in v0.5.0
func WithContext(ctx context.Context) OptionFunc
WithContext runs the request with the provided context
func WithSudo ¶ added in v0.4.0
func WithSudo(uid interface{}) OptionFunc
WithSudo takes either a username or user ID and sets the SUDO request header
type Permissions ¶
type Permissions struct { ProjectAccess *ProjectAccess `json:"project_access"` GroupAccess *GroupAccess `json:"group_access"` }
Permissions represents permissions.
type Pipeline ¶ added in v0.4.0
type Pipeline struct { ID int `json:"id"` Status string `json:"status"` Ref string `json:"ref"` Sha string `json:"sha"` BeforeSha string `json:"before_sha"` Tag bool `json:"tag"` YamlErrors string `json:"yaml_errors"` 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"` } UpdatedAt *time.Time `json:"updated_at"` CreatedAt *time.Time `json:"created_at"` StartedAt *time.Time `json:"started_at"` FinishedAt *time.Time `json:"finished_at"` CommittedAt *time.Time `json:"committed_at"` Duration int `json:"duration"` Coverage string `json:"coverage"` }
Pipeline represents a GitLab pipeline.
GitLab API docs: https://docs.gitlab.com/ce/api/pipelines.html
type PipelineEvent ¶ added in v0.3.1
type PipelineEvent struct { ObjectKind string `json:"object_kind"` ObjectAttributes struct { ID int `json:"id"` Ref string `json:"ref"` Tag bool `json:"tag"` Sha string `json:"sha"` BeforeSha string `json:"before_sha"` Status string `json:"status"` Stages []string `json:"stages"` CreatedAt string `json:"created_at"` FinishedAt string `json:"finished_at"` Duration int `json:"duration"` } `json:"object_attributes"` User struct { Name string `json:"name"` Username string `json:"username"` AvatarURL string `json:"avatar_url"` } `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"` 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"` Builds []struct { ID int `json:"id"` Stage string `json:"stage"` Name string `json:"name"` Status string `json:"status"` CreatedAt string `json:"created_at"` StartedAt string `json:"started_at"` FinishedAt string `json:"finished_at"` When string `json:"when"` Manual bool `json:"manual"` User struct { Name string `json:"name"` Username string `json:"username"` AvatarURL string `json:"avatar_url"` } `json:"user"` Runner struct { ID int `json:"id"` Description string `json:"description"` Active bool `json:"active"` IsShared bool `json:"is_shared"` } `json:"runner"` ArtifactsFile struct { Filename string `json:"filename"` Size int `json:"size"` } `json:"artifacts_file"` } `json:"builds"` }
PipelineEvent represents a pipeline event.
GitLab API docs: https://docs.gitlab.com/ce/web_hooks/web_hooks.html#pipeline-events
type PipelineList ¶ added in v0.6.0
type PipelineList []struct { ID int `json:"id"` Status string `json:"status"` Ref string `json:"ref"` Sha string `json:"sha"` }
PipelineList represents a GitLab list project pipelines
GitLab API docs: https://docs.gitlab.com/ce/api/pipelines.html#list-project-pipelines
func (PipelineList) String ¶ added in v0.6.0
func (i PipelineList) String() string
type PipelineTrigger ¶ added in v0.6.0
type PipelineTrigger struct { ID int `json:"id"` Description string `json:"description"` CreatedAt *time.Time `json:"created_at"` DeletedAt *time.Time `json:"deleted_at"` LastUsed *time.Time `json:"last_used"` Token string `json:"token"` UpdatedAt *time.Time `json:"updated_at"` Owner *User `json:"owner"` }
PipelineTrigger represents a project pipeline trigger.
GitLab API docs: https://docs.gitlab.com/ce/api/pipeline_triggers.html#pipeline-triggers
type PipelineTriggersService ¶ added in v0.6.0
type PipelineTriggersService struct {
// contains filtered or unexported fields
}
PipelineTriggersService handles Project pipeline triggers.
GitLab API docs: https://docs.gitlab.com/ce/api/pipeline_triggers.html
func (*PipelineTriggersService) AddPipelineTrigger ¶ added in v0.6.0
func (s *PipelineTriggersService) AddPipelineTrigger(pid interface{}, opt *AddPipelineTriggerOptions, options ...OptionFunc) (*PipelineTrigger, *Response, error)
AddPipelineTrigger adds a pipeline trigger to a specified project.
GitLab API docs: https://docs.gitlab.com/ce/api/pipeline_triggers.html#create-a-project-trigger
func (*PipelineTriggersService) DeletePipelineTrigger ¶ added in v0.6.0
func (s *PipelineTriggersService) DeletePipelineTrigger(pid interface{}, trigger int, options ...OptionFunc) (*Response, error)
DeletePipelineTrigger removes a trigger from a project.
GitLab API docs: https://docs.gitlab.com/ce/api/pipeline_triggers.html#remove-a-project-trigger
func (*PipelineTriggersService) EditPipelineTrigger ¶ added in v0.6.0
func (s *PipelineTriggersService) EditPipelineTrigger(pid interface{}, trigger int, opt *EditPipelineTriggerOptions, options ...OptionFunc) (*PipelineTrigger, *Response, error)
EditPipelineTrigger edits a trigger for a specified project.
GitLab API docs: https://docs.gitlab.com/ce/api/pipeline_triggers.html#update-a-project-trigger
func (*PipelineTriggersService) GetPipelineTrigger ¶ added in v0.6.0
func (s *PipelineTriggersService) GetPipelineTrigger(pid interface{}, trigger int, options ...OptionFunc) (*PipelineTrigger, *Response, error)
GetPipelineTrigger gets a specific pipeline trigger for a project.
GitLab API docs: https://docs.gitlab.com/ce/api/pipeline_triggers.html#get-trigger-details
func (*PipelineTriggersService) ListPipelineTriggers ¶ added in v0.6.0
func (s *PipelineTriggersService) ListPipelineTriggers(pid interface{}, opt *ListPipelineTriggersOptions, options ...OptionFunc) ([]*PipelineTrigger, *Response, error)
ListPipelineTriggers gets a list of project triggers.
GitLab API docs: https://docs.gitlab.com/ce/api/pipeline_triggers.html#list-project-triggers
func (*PipelineTriggersService) RunPipelineTrigger ¶ added in v0.7.0
func (s *PipelineTriggersService) RunPipelineTrigger(pid interface{}, opt *RunPipelineTriggerOptions, options ...OptionFunc) (*Pipeline, *Response, error)
RunPipelineTrigger starts a trigger from a project.
GitLab API docs: https://docs.gitlab.com/ce/ci/triggers/README.html#triggering-a-pipeline
func (*PipelineTriggersService) TakeOwnershipOfPipelineTrigger ¶ added in v0.6.0
func (s *PipelineTriggersService) TakeOwnershipOfPipelineTrigger(pid interface{}, trigger int, options ...OptionFunc) (*PipelineTrigger, *Response, error)
TakeOwnershipOfPipelineTrigger sets the owner of the specified pipeline trigger to the user issuing the request.
GitLab API docs: https://docs.gitlab.com/ce/api/pipeline_triggers.html#take-ownership-of-a-project-trigger
type PipelinesService ¶ added in v0.4.0
type PipelinesService struct {
// contains filtered or unexported fields
}
PipelinesService handles communication with the repositories related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/pipelines.html
func (*PipelinesService) CancelPipelineBuild ¶ added in v0.4.0
func (s *PipelinesService) CancelPipelineBuild(pid interface{}, pipelineID int, options ...OptionFunc) (*Pipeline, *Response, error)
CancelPipelineBuild cancels a pipeline builds
GitLab API docs: https://docs.gitlab.com/ce/api/pipelines.html#cancel-a-pipelines-builds
func (*PipelinesService) CreatePipeline ¶ added in v0.4.0
func (s *PipelinesService) CreatePipeline(pid interface{}, opt *CreatePipelineOptions, options ...OptionFunc) (*Pipeline, *Response, error)
CreatePipeline creates a new project pipeline.
GitLab API docs: https://docs.gitlab.com/ce/api/pipelines.html#create-a-new-pipeline
func (*PipelinesService) GetPipeline ¶ added in v0.4.0
func (s *PipelinesService) GetPipeline(pid interface{}, pipeline int, options ...OptionFunc) (*Pipeline, *Response, error)
GetPipeline gets a single project pipeline.
GitLab API docs: https://docs.gitlab.com/ce/api/pipelines.html#get-a-single-pipeline
func (*PipelinesService) ListProjectPipelines ¶ added in v0.4.0
func (s *PipelinesService) ListProjectPipelines(pid interface{}, options ...OptionFunc) (PipelineList, *Response, error)
ListProjectPipelines gets a list of project piplines.
GitLab API docs: https://docs.gitlab.com/ce/api/pipelines.html#list-project-pipelines
func (*PipelinesService) RetryPipelineBuild ¶ added in v0.4.0
func (s *PipelinesService) RetryPipelineBuild(pid interface{}, pipelineID int, options ...OptionFunc) (*Pipeline, *Response, error)
RetryPipelineBuild retries failed builds in a pipeline
GitLab API docs: https://docs.gitlab.com/ce/api/pipelines.html#retry-failed-builds-in-a-pipeline
type PostCommitCommentOptions ¶
type PostCommitCommentOptions struct { Note *string `url:"note,omitempty" json:"note,omitempty"` Path *string `url:"path" json:"path"` Line *int `url:"line" json:"line"` LineType *string `url:"line_type" json:"line_type"` }
PostCommitCommentOptions represents the available PostCommitComment() options.
GitLab API docs: https://docs.gitlab.com/ce/api/commits.html#post-comment-to-commit
type Project ¶
type Project struct { ID int `json:"id"` Description string `json:"description"` DefaultBranch string `json:"default_branch"` Public bool `json:"public"` Visibility VisibilityValue `json:"visibility"` SSHURLToRepo string `json:"ssh_url_to_repo"` HTTPURLToRepo string `json:"http_url_to_repo"` WebURL string `json:"web_url"` TagList []string `json:"tag_list"` Owner *User `json:"owner"` Name string `json:"name"` NameWithNamespace string `json:"name_with_namespace"` Path string `json:"path"` PathWithNamespace string `json:"path_with_namespace"` IssuesEnabled bool `json:"issues_enabled"` OpenIssuesCount int `json:"open_issues_count"` MergeRequestsEnabled bool `json:"merge_requests_enabled"` ApprovalsBeforeMerge int `json:"approvals_before_merge"` JobsEnabled bool `json:"jobs_enabled"` WikiEnabled bool `json:"wiki_enabled"` SnippetsEnabled bool `json:"snippets_enabled"` ContainerRegistryEnabled bool `json:"container_registry_enabled"` CreatedAt *time.Time `json:"created_at,omitempty"` LastActivityAt *time.Time `json:"last_activity_at,omitempty"` CreatorID int `json:"creator_id"` Namespace *ProjectNamespace `json:"namespace"` Permissions *Permissions `json:"permissions"` Archived bool `json:"archived"` AvatarURL string `json:"avatar_url"` ForksCount int `json:"forks_count"` StarCount int `json:"star_count"` RunnersToken string `json:"runners_token"` PublicJobs bool `json:"public_jobs"` OnlyAllowMergeIfPipelineSucceeds bool `json:"only_allow_merge_if_pipeline_succeeds"` OnlyAllowMergeIfAllDiscussionsAreResolved bool `json:"only_allow_merge_if_all_discussions_are_resolved"` LFSEnabled bool `json:"lfs_enabled"` RequestAccessEnabled bool `json:"request_access_enabled"` ForkedFromProject *ForkParent `json:"forked_from_project"` GroupID int `json:"group_id"` GroupName string `json:"group_name"` GroupAccessLevel int `json:"group_access_level"` } `json:"shared_with_groups"` Statistics *ProjectStatistics `json:"statistics"` Links *Links `json:"_links,omitempty"` }
Project represents a GitLab project.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html
type ProjectAccess ¶
type ProjectAccess struct { AccessLevel AccessLevelValue `json:"access_level"` NotificationLevel NotificationLevelValue `json:"notification_level"` }
ProjectAccess represents project access.
type ProjectEvent ¶
type ProjectEvent struct { Title interface{} `json:"title"` ProjectID int `json:"project_id"` ActionName string `json:"action_name"` TargetID interface{} `json:"target_id"` TargetType interface{} `json:"target_type"` AuthorID int `json:"author_id"` AuthorUsername string `json:"author_username"` Data struct { Before string `json:"before"` After string `json:"after"` Ref string `json:"ref"` UserID int `json:"user_id"` UserName string `json:"user_name"` Repository *Repository `json:"repository"` Commits []*Commit `json:"commits"` TotalCommitsCount int `json:"total_commits_count"` } `json:"data"` TargetTitle interface{} `json:"target_title"` }
ProjectEvent represents a GitLab project event.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#get-project-events
func (ProjectEvent) String ¶
func (s ProjectEvent) String() string
type ProjectFile ¶ added in v0.6.2
type ProjectFile struct { Alt string `json:"alt"` URL string `json:"url"` Markdown string `json:"markdown"` }
ProjectFile represents an uploaded project file
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#upload-a-file
type ProjectForkRelation ¶
type ProjectForkRelation struct { ID int `json:"id"` ForkedToProjectID int `json:"forked_to_project_id"` ForkedFromProjectID int `json:"forked_from_project_id"` CreatedAt *time.Time `json:"created_at"` UpdatedAt *time.Time `json:"updated_at"` }
ProjectForkRelation represents a project fork relationship.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#admin-fork-relation
type ProjectHook ¶
type ProjectHook struct { ID int `json:"id"` URL string `json:"url"` ProjectID int `json:"project_id"` PushEvents bool `json:"push_events"` IssuesEvents bool `json:"issues_events"` MergeRequestsEvents bool `json:"merge_requests_events"` TagPushEvents bool `json:"tag_push_events"` NoteEvents bool `json:"note_events"` JobEvents bool `json:"job_events"` PipelineEvents bool `json:"pipeline_events"` WikiPageEvents bool `json:"wiki_page_events"` EnableSSLVerification bool `json:"enable_ssl_verification"` CreatedAt *time.Time `json:"created_at"` }
ProjectHook represents a project hook.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#list-project-hooks
type ProjectMember ¶
type ProjectMember struct { ID int `json:"id"` Username string `json:"username"` Email string `json:"email"` Name string `json:"name"` State string `json:"state"` CreatedAt *time.Time `json:"created_at"` AccessLevel AccessLevelValue `json:"access_level"` }
ProjectMember represents a project member.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#list-project-team-members
type ProjectMembersService ¶ added in v0.6.0
type ProjectMembersService struct {
// contains filtered or unexported fields
}
ProjectMembersService handles communication with the project members related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/members.html
func (*ProjectMembersService) AddProjectMember ¶ added in v0.6.0
func (s *ProjectMembersService) AddProjectMember(pid interface{}, opt *AddProjectMemberOptions, options ...OptionFunc) (*ProjectMember, *Response, error)
AddProjectMember adds a user to a project team. This is an idempotent method and can be called multiple times with the same parameters. Adding team membership to a user that is already a member does not affect the existing membership.
GitLab API docs: https://docs.gitlab.com/ce/api/members.html#add-a-member-to-a-group-or-project
func (*ProjectMembersService) DeleteProjectMember ¶ added in v0.6.0
func (s *ProjectMembersService) DeleteProjectMember(pid interface{}, user int, options ...OptionFunc) (*Response, error)
DeleteProjectMember removes a user from a project team.
GitLab API docs: https://docs.gitlab.com/ce/api/members.html#remove-a-member-from-a-group-or-project
func (*ProjectMembersService) EditProjectMember ¶ added in v0.6.0
func (s *ProjectMembersService) EditProjectMember(pid interface{}, user int, opt *EditProjectMemberOptions, options ...OptionFunc) (*ProjectMember, *Response, error)
EditProjectMember updates a project team member to a specified access level..
GitLab API docs: https://docs.gitlab.com/ce/api/members.html#edit-a-member-of-a-group-or-project
func (*ProjectMembersService) GetProjectMember ¶ added in v0.6.0
func (s *ProjectMembersService) GetProjectMember(pid interface{}, user int, options ...OptionFunc) (*ProjectMember, *Response, error)
GetProjectMember gets a project team member.
GitLab API docs: https://docs.gitlab.com/ce/api/members.html#get-a-member-of-a-group-or-project
func (*ProjectMembersService) ListProjectMembers ¶ added in v0.6.0
func (s *ProjectMembersService) ListProjectMembers(pid interface{}, opt *ListProjectMembersOptions, options ...OptionFunc) ([]*ProjectMember, *Response, error)
ListProjectMembers gets a list of a project's team members.
GitLab API docs: https://docs.gitlab.com/ce/api/members.html#list-all-members-of-a-group-or-project
type ProjectNamespace ¶
type ProjectNamespace struct { CreatedAt *time.Time `json:"created_at"` Description string `json:"description"` ID int `json:"id"` Name string `json:"name"` OwnerID int `json:"owner_id"` Path string `json:"path"` UpdatedAt *time.Time `json:"updated_at"` }
ProjectNamespace represents a project namespace.
type ProjectSnippetsService ¶
type ProjectSnippetsService struct {
// contains filtered or unexported fields
}
ProjectSnippetsService handles communication with the project snippets related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/project_snippets.html
func (*ProjectSnippetsService) CreateSnippet ¶
func (s *ProjectSnippetsService) CreateSnippet(pid interface{}, opt *CreateProjectSnippetOptions, options ...OptionFunc) (*Snippet, *Response, error)
CreateSnippet creates a new project snippet. The user must have permission to create new snippets.
GitLab API docs: https://docs.gitlab.com/ce/api/project_snippets.html#create-new-snippet
func (*ProjectSnippetsService) DeleteSnippet ¶
func (s *ProjectSnippetsService) DeleteSnippet(pid interface{}, snippet int, options ...OptionFunc) (*Response, error)
DeleteSnippet deletes an existing project snippet. This is an idempotent function and deleting a non-existent snippet still returns a 200 OK status code.
GitLab API docs: https://docs.gitlab.com/ce/api/project_snippets.html#delete-snippet
func (*ProjectSnippetsService) GetSnippet ¶
func (s *ProjectSnippetsService) GetSnippet(pid interface{}, snippet int, options ...OptionFunc) (*Snippet, *Response, error)
GetSnippet gets a single project snippet
GitLab API docs: https://docs.gitlab.com/ce/api/project_snippets.html#single-snippet
func (*ProjectSnippetsService) ListSnippets ¶
func (s *ProjectSnippetsService) ListSnippets(pid interface{}, opt *ListProjectSnippetsOptions, options ...OptionFunc) ([]*Snippet, *Response, error)
ListSnippets gets a list of project snippets.
GitLab API docs: https://docs.gitlab.com/ce/api/project_snippets.html#list-snippets
func (*ProjectSnippetsService) SnippetContent ¶
func (s *ProjectSnippetsService) SnippetContent(pid interface{}, snippet int, options ...OptionFunc) ([]byte, *Response, error)
SnippetContent returns the raw project snippet as plain text.
GitLab API docs: https://docs.gitlab.com/ce/api/project_snippets.html#snippet-content
func (*ProjectSnippetsService) UpdateSnippet ¶
func (s *ProjectSnippetsService) UpdateSnippet(pid interface{}, snippet int, opt *UpdateProjectSnippetOptions, options ...OptionFunc) (*Snippet, *Response, error)
UpdateSnippet updates an existing project snippet. The user must have permission to change an existing snippet.
GitLab API docs: https://docs.gitlab.com/ce/api/project_snippets.html#update-snippet
type ProjectStatistics ¶ added in v0.4.1
type ProjectStatistics struct { StorageStatistics CommitCount int `json:"commit_count"` }
ProjectStatistics represents a statistics record for a project.
type ProjectsService ¶
type ProjectsService struct {
// contains filtered or unexported fields
}
ProjectsService handles communication with the repositories related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html
func (*ProjectsService) AddProjectHook ¶
func (s *ProjectsService) AddProjectHook(pid interface{}, opt *AddProjectHookOptions, options ...OptionFunc) (*ProjectHook, *Response, error)
AddProjectHook adds a hook to a specified project.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#add-project-hook
func (*ProjectsService) ArchiveProject ¶
func (s *ProjectsService) ArchiveProject(pid interface{}, options ...OptionFunc) (*Project, *Response, error)
ArchiveProject archives the project if the user is either admin or the project owner of this project.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#archive-a-project
func (*ProjectsService) CreateProject ¶
func (s *ProjectsService) CreateProject(opt *CreateProjectOptions, options ...OptionFunc) (*Project, *Response, error)
CreateProject creates a new project owned by the authenticated user.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#create-project
func (*ProjectsService) CreateProjectForUser ¶
func (s *ProjectsService) CreateProjectForUser(user int, opt *CreateProjectForUserOptions, options ...OptionFunc) (*Project, *Response, error)
CreateProjectForUser creates a new project owned by the specified user. Available only for admins.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#create-project-for-user
func (*ProjectsService) CreateProjectForkRelation ¶
func (s *ProjectsService) CreateProjectForkRelation(pid int, fork int, options ...OptionFunc) (*ProjectForkRelation, *Response, error)
CreateProjectForkRelation creates a forked from/to relation between existing projects.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#create-a-forked-fromto-relation-between-existing-projects.
func (*ProjectsService) DeleteProject ¶
func (s *ProjectsService) DeleteProject(pid interface{}, options ...OptionFunc) (*Response, error)
DeleteProject removes a project including all associated resources (issues, merge requests etc.)
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#remove-project
func (*ProjectsService) DeleteProjectForkRelation ¶
func (s *ProjectsService) DeleteProjectForkRelation(pid int, options ...OptionFunc) (*Response, error)
DeleteProjectForkRelation deletes an existing forked from relationship.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#delete-an-existing-forked-from-relationship
func (*ProjectsService) DeleteProjectHook ¶
func (s *ProjectsService) DeleteProjectHook(pid interface{}, hook int, options ...OptionFunc) (*Response, error)
DeleteProjectHook removes a hook from a project. This is an idempotent method and can be called multiple times. Either the hook is available or not.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#delete-project-hook
func (*ProjectsService) EditProject ¶
func (s *ProjectsService) EditProject(pid interface{}, opt *EditProjectOptions, options ...OptionFunc) (*Project, *Response, error)
EditProject updates an existing project.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#edit-project
func (*ProjectsService) EditProjectHook ¶
func (s *ProjectsService) EditProjectHook(pid interface{}, hook int, opt *EditProjectHookOptions, options ...OptionFunc) (*ProjectHook, *Response, error)
EditProjectHook edits a hook for a specified project.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#edit-project-hook
func (*ProjectsService) ForkProject ¶
func (s *ProjectsService) ForkProject(pid interface{}, options ...OptionFunc) (*Project, *Response, error)
ForkProject forks a project into the user namespace of the authenticated user.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#fork-project
func (*ProjectsService) GetProject ¶
func (s *ProjectsService) GetProject(pid interface{}, options ...OptionFunc) (*Project, *Response, error)
GetProject gets a specific project, identified by project ID or NAMESPACE/PROJECT_NAME, which is owned by the authenticated user.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#get-single-project
func (*ProjectsService) GetProjectEvents ¶
func (s *ProjectsService) GetProjectEvents(pid interface{}, opt *GetProjectEventsOptions, options ...OptionFunc) ([]*ProjectEvent, *Response, error)
GetProjectEvents gets the events for the specified project. Sorted from newest to latest.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#get-project-events
func (*ProjectsService) GetProjectHook ¶
func (s *ProjectsService) GetProjectHook(pid interface{}, hook int, options ...OptionFunc) (*ProjectHook, *Response, error)
GetProjectHook gets a specific hook for a project.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#get-project-hook
func (*ProjectsService) ListProjectHooks ¶
func (s *ProjectsService) ListProjectHooks(pid interface{}, opt *ListProjectHooksOptions, options ...OptionFunc) ([]*ProjectHook, *Response, error)
ListProjectHooks gets a list of project hooks.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#list-project-hooks
func (*ProjectsService) ListProjects ¶
func (s *ProjectsService) ListProjects(opt *ListProjectsOptions, options ...OptionFunc) ([]*Project, *Response, error)
ListProjects gets a list of projects accessible by the authenticated user.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#list-projects
func (*ProjectsService) ListUserProjects ¶ added in v0.7.0
func (s *ProjectsService) ListUserProjects(uid interface{}, opt *ListProjectsOptions, options ...OptionFunc) ([]*Project, *Response, error)
ListUserProjects gets a list of projects for the given user.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#list-user-projects
func (*ProjectsService) ShareProjectWithGroup ¶ added in v0.6.0
func (s *ProjectsService) ShareProjectWithGroup(pid interface{}, opt *ShareWithGroupOptions, options ...OptionFunc) (*Response, error)
ShareProjectWithGroup allows to share a project with a group.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#share-project-with-group
func (*ProjectsService) StarProject ¶ added in v0.6.0
func (s *ProjectsService) StarProject(pid interface{}, options ...OptionFunc) (*Project, *Response, error)
StarProject stars a given the project.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#star-a-project
func (*ProjectsService) UnarchiveProject ¶
func (s *ProjectsService) UnarchiveProject(pid interface{}, options ...OptionFunc) (*Project, *Response, error)
UnarchiveProject unarchives the project if the user is either admin or the project owner of this project.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#unarchive-a-project
func (*ProjectsService) UnstarProject ¶ added in v0.6.0
func (s *ProjectsService) UnstarProject(pid interface{}, options ...OptionFunc) (*Project, *Response, error)
UnstarProject unstars a given project.
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#unstar-a-project
func (*ProjectsService) UploadFile ¶ added in v0.6.2
func (s *ProjectsService) UploadFile(pid interface{}, file string, options ...OptionFunc) (*ProjectFile, *Response, error)
UploadFile upload a file from disk
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#upload-a-file
type ProtectBranchOptions ¶ added in v0.6.0
type ProtectBranchOptions struct { DevelopersCanPush *bool `url:"developers_can_push,omitempty" json:"developers_can_push,omitempty"` DevelopersCanMerge *bool `url:"developers_can_merge,omitempty" json:"developers_can_merge,omitempty"` }
ProtectBranchOptions represents the available ProtectBranch() options.
GitLab API docs: https://docs.gitlab.com/ce/api/branches.html#protect-repository-branch
type PushEvent ¶ added in v0.3.1
type PushEvent struct { ObjectKind string `json:"object_kind"` Before string `json:"before"` After string `json:"after"` Ref string `json:"ref"` CheckoutSha string `json:"checkout_sha"` UserID int `json:"user_id"` UserName string `json:"user_name"` UserEmail string `json:"user_email"` UserAvatar string `json:"user_avatar"` ProjectID int `json:"project_id"` Project struct { Name string `json:"name"` Description string `json:"description"` AvatarURL string `json:"avatar_url"` GitSSHURL string `json:"git_ssh_url"` GitHTTPURL string `json:"git_http_url"` Namespace string `json:"namespace"` PathWithNamespace string `json:"path_with_namespace"` DefaultBranch string `json:"default_branch"` Homepage string `json:"homepage"` URL string `json:"url"` SSHURL string `json:"ssh_url"` HTTPURL string `json:"http_url"` WebURL string `json:"web_url"` Visibility VisibilityValue `json:"visibility"` } `json:"project"` Repository *Repository `json:"repository"` Commits []*Commit `json:"commits"` TotalCommitsCount int `json:"total_commits_count"` }
PushEvent represents a push event.
GitLab API docs: https://docs.gitlab.com/ce/web_hooks/web_hooks.html#push-events
type RepositoriesService ¶
type RepositoriesService struct {
// contains filtered or unexported fields
}
RepositoriesService handles communication with the repositories related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/repositories.html
func (*RepositoriesService) Archive ¶
func (s *RepositoriesService) Archive(pid interface{}, opt *ArchiveOptions, options ...OptionFunc) ([]byte, *Response, error)
Archive gets an archive of the repository.
GitLab API docs: https://docs.gitlab.com/ce/api/repositories.html#get-file-archive
func (*RepositoriesService) Compare ¶
func (s *RepositoriesService) Compare(pid interface{}, opt *CompareOptions, options ...OptionFunc) (*Compare, *Response, error)
Compare compares branches, tags or commits.
GitLab API docs: https://docs.gitlab.com/ce/api/repositories.html#compare-branches-tags-or-commits
func (*RepositoriesService) Contributors ¶
func (s *RepositoriesService) Contributors(pid interface{}, options ...OptionFunc) ([]*Contributor, *Response, error)
Contributors gets the repository contributors list.
GitLab API docs: https://docs.gitlab.com/ce/api/repositories.html#contributer
func (*RepositoriesService) ListTree ¶
func (s *RepositoriesService) ListTree(pid interface{}, opt *ListTreeOptions, options ...OptionFunc) ([]*TreeNode, *Response, error)
ListTree gets a list of repository files and directories in a project.
GitLab API docs: https://docs.gitlab.com/ce/api/repositories.html#list-repository-tree
func (*RepositoriesService) RawBlobContent ¶
func (s *RepositoriesService) RawBlobContent(pid interface{}, sha string, options ...OptionFunc) ([]byte, *Response, error)
RawBlobContent gets the raw file contents for a blob by blob SHA.
GitLab API docs: https://docs.gitlab.com/ce/api/repositories.html#raw-blob-content
func (*RepositoriesService) RawFileContent ¶
func (s *RepositoriesService) RawFileContent(pid interface{}, sha string, options ...OptionFunc) ([]byte, *Response, error)
RawFileContent gets the raw file contents for a file by commit SHA and path
GitLab API docs: https://docs.gitlab.com/ce/api/repositories.html#raw-file-content
type Repository ¶ added in v0.3.1
type Repository struct { Name string `json:"name"` Description string `json:"description"` WebURL string `json:"web_url"` AvatarURL string `json:"avatar_url"` GitSSHURL string `json:"git_ssh_url"` GitHTTPURL string `json:"git_http_url"` Namespace string `json:"namespace"` Visibility VisibilityValue `json:"visibility"` PathWithNamespace string `json:"path_with_namespace"` DefaultBranch string `json:"default_branch"` Homepage string `json:"homepage"` URL string `json:"url"` SSHURL string `json:"ssh_url"` HTTPURL string `json:"http_url"` }
Repository represents a repository.
type RepositoryFilesService ¶
type RepositoryFilesService struct {
// contains filtered or unexported fields
}
RepositoryFilesService handles communication with the repository files related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/repository_files.html
func (*RepositoryFilesService) CreateFile ¶
func (s *RepositoryFilesService) CreateFile(pid interface{}, fileName string, opt *CreateFileOptions, options ...OptionFunc) (*FileInfo, *Response, error)
CreateFile creates a new file in a repository.
GitLab API docs: https://docs.gitlab.com/ce/api/repository_files.html#create-new-file-in-repository
func (*RepositoryFilesService) DeleteFile ¶
func (s *RepositoryFilesService) DeleteFile(pid interface{}, fileName string, opt *DeleteFileOptions, options ...OptionFunc) (*Response, error)
DeleteFile deletes an existing file in a repository
GitLab API docs: https://docs.gitlab.com/ce/api/repository_files.html#delete-existing-file-in-repository
func (*RepositoryFilesService) GetFile ¶
func (s *RepositoryFilesService) GetFile(pid interface{}, fileName string, opt *GetFileOptions, options ...OptionFunc) (*File, *Response, error)
GetFile allows you to receive information about a file in repository like name, size, content. Note that file content is Base64 encoded.
GitLab API docs: https://docs.gitlab.com/ce/api/repository_files.html#get-file-from-repository
func (*RepositoryFilesService) GetRawFile ¶ added in v0.6.0
func (s *RepositoryFilesService) GetRawFile(pid interface{}, fileName string, opt *GetRawFileOptions, options ...OptionFunc) (*File, *Response, error)
GetRawFile allows you to receive the raw file in repository.
GitLab API docs: https://docs.gitlab.com/ce/api/repository_files.html#get-raw-file-from-repository
func (*RepositoryFilesService) UpdateFile ¶
func (s *RepositoryFilesService) UpdateFile(pid interface{}, fileName string, opt *UpdateFileOptions, options ...OptionFunc) (*FileInfo, *Response, error)
UpdateFile updates an existing file in a repository
GitLab API docs: https://docs.gitlab.com/ce/api/repository_files.html#update-existing-file-in-repository
type Response ¶
Response is a GitLab API response. This wraps the standard http.Response returned from GitLab and provides convenient access to things like pagination links.
type RunPipelineTriggerOptions ¶ added in v0.7.0
type RunPipelineTriggerOptions struct { Ref *string `url:"ref" json:"ref"` Token *string `url:"token" json:"token"` Variables map[string]string `url:"variables,omitempty" json:"variables,omitempty"` }
RunPipelineTriggerOptions represents the available RunPipelineTrigger() options.
GitLab API docs: https://docs.gitlab.com/ce/ci/triggers/README.html#triggering-a-pipeline
type SSHKey ¶
type SSHKey struct { ID int `json:"id"` Title string `json:"title"` Key string `json:"key"` CreatedAt *time.Time `json:"created_at"` }
SSHKey represents a SSH key.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#list-ssh-keys
type Service ¶
type Service struct { ID int `json:"id"` Title string `json:"title"` CreatedAt *time.Time `json:"created_at"` UpdatedAt *time.Time `json:"updated_at"` Active bool `json:"active"` PushEvents bool `json:"push_events"` IssuesEvents bool `json:"issues_events"` MergeRequestsEvents bool `json:"merge_requests_events"` TagPushEvents bool `json:"tag_push_events"` NoteEvents bool `json:"note_events"` PipelineEvents bool `json:"pipeline_events"` JobEvents bool `json:"job_events"` }
Service represents a GitLab service.
GitLab API docs: https://docs.gitlab.com/ce/api/services.html
type ServicesService ¶
type ServicesService struct {
// contains filtered or unexported fields
}
ServicesService handles communication with the services related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/services.html
func (*ServicesService) DeleteDroneCIService ¶
func (s *ServicesService) DeleteDroneCIService(pid interface{}, options ...OptionFunc) (*Response, error)
DeleteDroneCIService deletes Drone CI service settings for a project.
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#delete-drone-ci-service
func (*ServicesService) DeleteGitLabCIService ¶
func (s *ServicesService) DeleteGitLabCIService(pid interface{}, options ...OptionFunc) (*Response, error)
DeleteGitLabCIService deletes GitLab CI service settings for a project.
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#delete-gitlab-ci-service
func (*ServicesService) DeleteHipChatService ¶
func (s *ServicesService) DeleteHipChatService(pid interface{}, options ...OptionFunc) (*Response, error)
DeleteHipChatService deletes HipChat service for project.
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#delete-hipchat-service
func (*ServicesService) DeleteJiraService ¶ added in v0.7.0
func (s *ServicesService) DeleteJiraService(pid interface{}, options ...OptionFunc) (*Response, error)
DeleteJiraService deletes Jira service for project.
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#delete-jira-service
func (*ServicesService) DeleteSlackService ¶
func (s *ServicesService) DeleteSlackService(pid interface{}, options ...OptionFunc) (*Response, error)
DeleteSlackService deletes Slack service for project.
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#delete-slack-service
func (*ServicesService) GetDroneCIService ¶
func (s *ServicesService) GetDroneCIService(pid interface{}, options ...OptionFunc) (*DroneCIService, *Response, error)
GetDroneCIService gets Drone CI service settings for a project.
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#get-drone-ci-service-settings
func (*ServicesService) GetJiraService ¶ added in v0.7.0
func (s *ServicesService) GetJiraService(pid interface{}, options ...OptionFunc) (*JiraService, *Response, error)
GetJiraService gets Jira service settings for a project.
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#get-jira-service-settings
func (*ServicesService) GetSlackService ¶ added in v0.6.2
func (s *ServicesService) GetSlackService(pid interface{}, options ...OptionFunc) (*SlackService, *Response, error)
GetSlackService gets Slack service settings for a project.
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#get-slack-service-settings
func (*ServicesService) SetDroneCIService ¶
func (s *ServicesService) SetDroneCIService(pid interface{}, opt *SetDroneCIServiceOptions, options ...OptionFunc) (*Response, error)
SetDroneCIService sets Drone CI service for a project.
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#createedit-drone-ci-service
func (*ServicesService) SetGitLabCIService ¶
func (s *ServicesService) SetGitLabCIService(pid interface{}, opt *SetGitLabCIServiceOptions, options ...OptionFunc) (*Response, error)
SetGitLabCIService sets GitLab CI service for a project.
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#edit-gitlab-ci-service
func (*ServicesService) SetHipChatService ¶
func (s *ServicesService) SetHipChatService(pid interface{}, opt *SetHipChatServiceOptions, options ...OptionFunc) (*Response, error)
SetHipChatService sets HipChat service for a project
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#edit-hipchat-service
func (*ServicesService) SetJiraService ¶ added in v0.7.0
func (s *ServicesService) SetJiraService(pid interface{}, opt *SetJiraServiceOptions, options ...OptionFunc) (*Response, error)
SetJiraService sets Jira service for a project
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#edit-jira-service
func (*ServicesService) SetSlackService ¶
func (s *ServicesService) SetSlackService(pid interface{}, opt *SetSlackServiceOptions, options ...OptionFunc) (*Response, error)
SetSlackService sets Slack service for a project
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#edit-slack-service
type Session ¶
type Session struct { ID int `json:"id"` Username string `json:"username"` Email string `json:"email"` Name string `json:"name"` PrivateToken string `json:"private_token"` Blocked bool `json:"blocked"` CreatedAt *time.Time `json:"created_at"` Bio interface{} `json:"bio"` Skype string `json:"skype"` Linkedin string `json:"linkedin"` Twitter string `json:"twitter"` WebsiteURL string `json:"website_url"` DarkScheme bool `json:"dark_scheme"` ThemeID int `json:"theme_id"` IsAdmin bool `json:"is_admin"` CanCreateGroup bool `json:"can_create_group"` CanCreateTeam bool `json:"can_create_team"` CanCreateProject bool `json:"can_create_project"` }
Session represents a GitLab session.
GitLab API docs: https://docs.gitlab.com/ce/api/session.html#session
type SessionService ¶
type SessionService struct {
// contains filtered or unexported fields
}
SessionService handles communication with the session related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/session.html
func (*SessionService) GetSession ¶
func (s *SessionService) GetSession(opt *GetSessionOptions, options ...OptionFunc) (*Session, *Response, error)
GetSession logs in to get private token.
GitLab API docs: https://docs.gitlab.com/ce/api/session.html#session
type SetCommitStatusOptions ¶
type SetCommitStatusOptions struct { State BuildState `url:"state" json:"state"` Ref *string `url:"ref,omitempty" json:"ref,omitempty"` Name *string `url:"name,omitempty" json:"name,omitempty"` Context *string `url:"context,omitempty" json:"context,omitempty"` TargetURL *string `url:"target_url,omitempty" json:"target_url,omitempty"` Description *string `url:"description,omitempty" json:"description,omitempty"` }
SetCommitStatusOptions represents the available SetCommitStatus() options.
GitLab API docs: https://docs.gitlab.com/ce/api/commits.html#post-the-status-to-commit
type SetDroneCIServiceOptions ¶
type SetDroneCIServiceOptions struct { Token *string `url:"token" json:"token" ` DroneURL *string `url:"drone_url" json:"drone_url"` EnableSSLVerification *bool `url:"enable_ssl_verification,omitempty" json:"enable_ssl_verification,omitempty"` }
SetDroneCIServiceOptions represents the available SetDroneCIService() options.
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#createedit-drone-ci-service
type SetGitLabCIServiceOptions ¶
type SetGitLabCIServiceOptions struct { Token *string `url:"token,omitempty" json:"token,omitempty"` ProjectURL *string `url:"project_url,omitempty" json:"project_url,omitempty"` }
SetGitLabCIServiceOptions represents the available SetGitLabCIService() options.
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#edit-gitlab-ci-service
type SetHipChatServiceOptions ¶
type SetHipChatServiceOptions struct { Token *string `url:"token,omitempty" json:"token,omitempty" ` Room *string `url:"room,omitempty" json:"room,omitempty"` }
SetHipChatServiceOptions represents the available SetHipChatService() options.
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#edit-hipchat-service
type SetJiraServiceOptions ¶ added in v0.7.0
type SetJiraServiceOptions JiraServiceProperties
SetJiraServiceOptions represents the available SetJiraService() options.
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#edit-jira-service
type SetSlackServiceOptions ¶
type SetSlackServiceOptions struct { WebHook *string `url:"webhook,omitempty" json:"webhook,omitempty" ` Username *string `url:"username,omitempty" json:"username,omitempty" ` Channel *string `url:"channel,omitempty" json:"channel,omitempty"` }
SetSlackServiceOptions represents the available SetSlackService() options.
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#edit-slack-service
type SetTimeEstimateOptions ¶ added in v0.4.0
type SetTimeEstimateOptions struct {
Duration *string `url:"duration,omitempty" json:"duration,omitempty"`
}
SetTimeEstimateOptions represents the available SetTimeEstimate() options.
GitLab docs: https://docs.gitlab.com/ce/workflow/time_tracking.html
type Settings ¶
type Settings struct { ID int `json:"id"` CreatedAt *time.Time `json:"created_at"` UpdatedAt *time.Time `json:"updated_at"` AdminNotificationEmail string `json:"admin_notification_email"` AfterSignOutPath string `json:"after_sign_out_path"` AfterSignUpText string `json:"after_sign_up_text"` AkismetApiKey string `json:"akismet_api_key"` AkismetEnabled bool `json:"akismet_enabled"` CircuitbreakerAccessRetries int `json:"circuitbreaker_access_retries"` CircuitbreakerBackoffThreshold int `json:"circuitbreaker_backoff_threshold"` CircuitbreakerFailureCountThreshold int `json:"circuitbreaker_failure_count_threshold"` CircuitbreakerFailureResetTime int `json:"circuitbreaker_failure_reset_time"` CircuitbreakerFailureWaitTime int `json:"circuitbreaker_failure_wait_time"` CircuitbreakerStorageTimeout int `json:"circuitbreaker_storage_timeout"` ClientsideSentryDSN string `json:"clientside_sentry_dsn"` ClientsideSentryEnabled bool `json:"clientside_sentry_enabled"` ContainerRegistryTokenExpireDelay int `json:"container_registry_token_expire_delay"` DefaultArtifactsExpireIn string `json:"default_artifacts_expire_in"` DefaultBranchProtection int `json:"default_branch_protection"` DefaultGroupVisibility string `json:"default_group_visibility"` DefaultProjectVisibility string `json:"default_project_visibility"` DefaultProjectsLimit int `json:"default_projects_limit"` DefaultSnippetVisibility string `json:"default_snippet_visibility"` DisabledOauthSignInSources []string `json:"disabled_oauth_sign_in_sources"` DomainBlacklistEnabled bool `json:"domain_blacklist_enabled"` DomainBlacklist []string `json:"domain_blacklist"` DomainWhitelist []string `json:"domain_whitelist"` DSAKeyRestriction int `json:"dsa_key_restriction"` ECDSAKeyRestriction int `json:"ecdsa_key_restriction"` Ed25519KeyRestriction int `json:"ed25519_key_restriction"` EmailAuthorInBody bool `json:"email_author_in_body"` EnabledGitAccessProtocol string `json:"enabled_git_access_protocol"` GravatarEnabled bool `json:"gravatar_enabled"` HelpPageHideCommercialContent bool `json:"help_page_hide_commercial_content"` HelpPageSupportURL string `json:"help_page_support_url"` HomePageURL string `json:"home_page_url"` HousekeepingBitmapsEnabled bool `json:"housekeeping_bitmaps_enabled"` HousekeepingEnabled bool `json:"housekeeping_enabled"` HousekeepingFullRepackPeriod int `json:"housekeeping_full_repack_period"` HousekeepingGcPeriod int `json:"housekeeping_gc_period"` HousekeepingIncrementalRepackPeriod int `json:"housekeeping_incremental_repack_period"` HTMLEmailsEnabled bool `json:"html_emails_enabled"` ImportSources []string `json:"import_sources"` KodingEnabled bool `json:"koding_enabled"` KodingURL string `json:"koding_url"` MaxArtifactsSize int `json:"max_artifacts_size"` MaxAttachmentSize int `json:"max_attachment_size"` MaxPagesSize int `json:"max_pages_size"` MetricsEnabled bool `json:"metrics_enabled"` MetricsHost string `json:"metrics_host"` MetricsMethodCallThreshold int `json:"metrics_method_call_threshold"` MetricsPacketSize int `json:"metrics_packet_size"` MetricsPoolSize int `json:"metrics_pool_size"` MetricsPort int `json:"metrics_port"` MetricsSampleInterval int `json:"metrics_sample_interval"` MetricsTimeout int `json:"metrics_timeout"` PasswordAuthenticationEnabled bool `json:"password_authentication_enabled"` PerformanceBarAllowedGroupId string `json:"performance_bar_allowed_group_id"` PerformanceBarEnabled bool `json:"performance_bar_enabled"` PlantumlEnabled bool `json:"plantuml_enabled"` PlantumlURL string `json:"plantuml_url"` PollingIntervalMultiplier float64 `json:"polling_interval_multiplier"` ProjectExportEnabled bool `json:"project_export_enabled"` PrometheusMetricsEnabled bool `json:"prometheus_metrics_enabled"` RecaptchaEnabled bool `json:"recaptcha_enabled"` RecaptchaPrivateKey string `json:"recaptcha_private_key"` RecaptchaSiteKey string `json:"recaptcha_site_key"` RepositoryChecksEnabled bool `json:"repository_checks_enabled"` RepositoryStorages []string `json:"repository_storages"` RequireTwoFactorAuthentication bool `json:"require_two_factor_authentication"` RestrictedVisibilityLevels []VisibilityValue `json:"restricted_visibility_levels"` RsaKeyRestriction int `json:"rsa_key_restriction"` SendUserConfirmationEmail bool `json:"send_user_confirmation_email"` SentryDSN string `json:"sentry_dsn"` SentryEnabled bool `json:"sentry_enabled"` SessionExpireDelay int `json:"session_expire_delay"` SidekiqThrottlingEnabled bool `json:"sidekiq_throttling_enabled"` SidekiqThrottlingFactor float64 `json:"sidekiq_throttling_factor"` SidekiqThrottlingQueues []string `json:"sidekiq_throttling_queues"` SignInText string `json:"sign_in_text"` SignupEnabled bool `json:"signup_enabled"` TerminalMaxSessionTime int `json:"terminal_max_session_time"` TwoFactorGracePeriod int `json:"two_factor_grace_period"` UniqueIPsLimitEnabled bool `json:"unique_ips_limit_enabled"` UniqueIPsLimitPerUser int `json:"unique_ips_limit_per_user"` UniqueIPsLimitTimeWindow int `json:"unique_ips_limit_time_window"` UsagePingEnabled bool `json:"usage_ping_enabled"` UserDefaultExternal bool `json:"user_default_external"` UserOauthApplications bool `json:"user_oauth_applications"` VersionCheckEnabled bool `json:"version_check_enabled"` }
Settings represents the GitLab application settings.
GitLab API docs: https://docs.gitlab.com/ce/api/settings.html
type SettingsService ¶
type SettingsService struct {
// contains filtered or unexported fields
}
SettingsService handles communication with the application SettingsService related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/settings.html
func (*SettingsService) GetSettings ¶
func (s *SettingsService) GetSettings(options ...OptionFunc) (*Settings, *Response, error)
GetSettings gets the current application settings.
GitLab API docs: https://docs.gitlab.com/ce/api/settings.html#get-current-application.settings
func (*SettingsService) UpdateSettings ¶
func (s *SettingsService) UpdateSettings(opt *UpdateSettingsOptions, options ...OptionFunc) (*Settings, *Response, error)
UpdateSettings updates the application settings.
GitLab API docs: https://docs.gitlab.com/ce/api/settings.html#change-application.settings
type ShareWithGroupOptions ¶ added in v0.6.0
type ShareWithGroupOptions struct {}
ShareWithGroupOptions represents options to share project with groups
GitLab API docs: https://docs.gitlab.com/ce/api/projects.html#share-project-with-group
type SlackService ¶ added in v0.6.2
type SlackService struct { Service Properties *SlackServiceProperties `json:"properties"` }
SlackService represents Slack service settings.
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#slack
type SlackServiceProperties ¶ added in v0.6.2
type SlackServiceProperties struct {
NotifyOnlyBrokenPipelines bool `json:"notify_only_broken_pipelines"`
}
SlackServiceProperties represents Slack specific properties.
GitLab API docs: https://docs.gitlab.com/ce/api/services.html#slack
type Snippet ¶
type Snippet struct { ID int `json:"id"` Title string `json:"title"` FileName string `json:"file_name"` Description string `json:"description"` Author struct { ID int `json:"id"` Username string `json:"username"` Email string `json:"email"` Name string `json:"name"` State string `json:"state"` CreatedAt *time.Time `json:"created_at"` } `json:"author"` UpdatedAt *time.Time `json:"updated_at"` CreatedAt *time.Time `json:"created_at"` WebURL string `json:"web_url"` }
Snippet represents a GitLab snippet.
GitLab API docs: https://docs.gitlab.com/ce/api/snippets.html
type SnippetCommentEvent ¶ added in v0.3.1
type SnippetCommentEvent 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"` Snippet *Snippet `json:"snippet"` }
SnippetCommentEvent represents a comment on a snippet event.
GitLab API docs: https://docs.gitlab.com/ce/web_hooks/web_hooks.html#comment-on-code-snippet
type SnippetsService ¶ added in v0.7.2
type SnippetsService struct {
// contains filtered or unexported fields
}
SnippetsService handles communication with the snippets related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/snippets.html
func (*SnippetsService) CreateSnippet ¶ added in v0.7.2
func (s *SnippetsService) CreateSnippet(opt *CreateSnippetOptions, options ...OptionFunc) (*Snippet, *Response, error)
CreateSnippet creates a new snippet. The user must have permission to create new snippets.
GitLab API docs: https://docs.gitlab.com/ce/api/snippets.html#create-new-snippet
func (*SnippetsService) DeleteSnippet ¶ added in v0.7.2
func (s *SnippetsService) DeleteSnippet(snippet int, options ...OptionFunc) (*Response, error)
DeleteSnippet deletes an existing snippet. This is an idempotent function and deleting a non-existent snippet still returns a 200 OK status code.
GitLab API docs: https://docs.gitlab.com/ce/api/snippets.html#delete-snippet
func (*SnippetsService) GetSnippet ¶ added in v0.7.2
func (s *SnippetsService) GetSnippet(snippet int, options ...OptionFunc) (*Snippet, *Response, error)
GetSnippet gets a single snippet
GitLab API docs: https://docs.gitlab.com/ce/api/snippets.html#single-snippet
func (*SnippetsService) ListSnippets ¶ added in v0.7.2
func (s *SnippetsService) ListSnippets(opt *ListSnippetsOptions, options ...OptionFunc) ([]*Snippet, *Response, error)
ListSnippets gets a list of snippets.
GitLab API docs: https://docs.gitlab.com/ce/api/snippets.html#list-snippets
func (*SnippetsService) SnippetContent ¶ added in v0.7.2
func (s *SnippetsService) SnippetContent(snippet int, options ...OptionFunc) ([]byte, *Response, error)
SnippetContent returns the raw snippet as plain text.
GitLab API docs: https://docs.gitlab.com/ce/api/snippets.html#snippet-content
func (*SnippetsService) UpdateSnippet ¶ added in v0.7.2
func (s *SnippetsService) UpdateSnippet(snippet int, opt *UpdateSnippetOptions, options ...OptionFunc) (*Snippet, *Response, error)
UpdateSnippet updates an existing snippet. The user must have permission to change an existing snippet.
GitLab API docs: https://docs.gitlab.com/ce/api/snippets.html#update-snippet
type StorageStatistics ¶ added in v0.4.1
type StorageStatistics struct { StorageSize int64 `json:"storage_size"` RepositorySize int64 `json:"repository_size"` LfsObjectsSize int64 `json:"lfs_objects_size"` JobArtifactsSize int64 `json:"job_artifacts_size"` }
StorageStatistics represents a statistics record for a group or project.
type SystemHooksService ¶
type SystemHooksService struct {
// contains filtered or unexported fields
}
SystemHooksService handles communication with the system hooks related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/system_hooks.html
func (*SystemHooksService) AddHook ¶
func (s *SystemHooksService) AddHook(opt *AddHookOptions, options ...OptionFunc) (*Hook, *Response, error)
AddHook adds a new system hook hook.
GitLab API docs: https://docs.gitlab.com/ce/api/system_hooks.html#add-new-system-hook-hook
func (*SystemHooksService) DeleteHook ¶
func (s *SystemHooksService) DeleteHook(hook int, options ...OptionFunc) (*Response, error)
DeleteHook deletes a system hook. This is an idempotent API function and returns 200 OK even if the hook is not available. If the hook is deleted it is also returned as JSON.
GitLab API docs: https://docs.gitlab.com/ce/api/system_hooks.html#delete-system-hook
func (*SystemHooksService) ListHooks ¶
func (s *SystemHooksService) ListHooks(options ...OptionFunc) ([]*Hook, *Response, error)
ListHooks gets a list of system hooks.
GitLab API docs: https://docs.gitlab.com/ce/api/system_hooks.html#list-system-hooks
func (*SystemHooksService) TestHook ¶
func (s *SystemHooksService) TestHook(hook int, options ...OptionFunc) (*HookEvent, *Response, error)
TestHook tests a system hook.
GitLab API docs: https://docs.gitlab.com/ce/api/system_hooks.html#test-system-hook
type Tag ¶
type Tag struct { Commit *Commit `json:"commit"` Release struct { TagName string `json:"tag_name"` Description string `json:"description"` } `json:"release"` Name string `json:"name"` Message string `json:"message"` }
Tag represents a GitLab tag.
GitLab API docs: https://docs.gitlab.com/ce/api/tags.html
type TagEvent ¶ added in v0.3.1
type TagEvent struct { ObjectKind string `json:"object_kind"` Before string `json:"before"` After string `json:"after"` Ref string `json:"ref"` CheckoutSha string `json:"checkout_sha"` UserID int `json:"user_id"` UserName string `json:"user_name"` UserAvatar string `json:"user_avatar"` 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"` Commits []*Commit `json:"commits"` TotalCommitsCount int `json:"total_commits_count"` }
TagEvent represents a tag event.
GitLab API docs: https://docs.gitlab.com/ce/web_hooks/web_hooks.html#tag-events
type TagsService ¶ added in v0.3.0
type TagsService struct {
// contains filtered or unexported fields
}
TagsService handles communication with the tags related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/tags.html
func (*TagsService) CreateTag ¶ added in v0.3.0
func (s *TagsService) CreateTag(pid interface{}, opt *CreateTagOptions, options ...OptionFunc) (*Tag, *Response, error)
CreateTag creates a new tag in the repository that points to the supplied ref.
GitLab API docs: https://docs.gitlab.com/ce/api/tags.html#create-a-new-tag
func (*TagsService) DeleteTag ¶ added in v0.3.0
func (s *TagsService) DeleteTag(pid interface{}, tag string, options ...OptionFunc) (*Response, error)
DeleteTag deletes a tag of a repository with given name.
GitLab API docs: https://docs.gitlab.com/ce/api/tags.html#delete-a-tag
func (*TagsService) GetTag ¶ added in v0.4.0
func (s *TagsService) GetTag(pid interface{}, tag string, options ...OptionFunc) (*Tag, *Response, error)
GetTag a specific repository tag determined by its name. It returns 200 together with the tag information if the tag exists. It returns 404 if the tag does not exist.
GitLab API docs: https://docs.gitlab.com/ce/api/tags.html#get-a-single-repository-tag
func (*TagsService) ListTags ¶ added in v0.3.0
func (s *TagsService) ListTags(pid interface{}, options ...OptionFunc) ([]*Tag, *Response, error)
ListTags gets a list of tags from a project, sorted by name in reverse alphabetical order.
GitLab API docs: https://docs.gitlab.com/ce/api/tags.html#list-project-repository-tags
type TimeStats ¶ added in v0.4.0
type TimeStats struct { HumanTimeEstimate string `json:"human_time_estimate"` HumanTotalTimeSpent string `json:"human_total_time_spent"` TimeEstimate int `json:"time_estimate"` TotalTimeSpent int `json:"total_time_spent"` }
TimeStats represents the time estimates and time spent for an issue.
GitLab docs: https://docs.gitlab.com/ce/workflow/time_tracking.html
type Todo ¶ added in v0.6.0
type Todo struct { ID int `json:"id"` Project struct { ID int `json:"id"` HTTPURLToRepo string `json:"http_url_to_repo"` WebURL string `json:"web_url"` Name string `json:"name"` NameWithNamespace string `json:"name_with_namespace"` Path string `json:"path"` PathWithNamespace string `json:"path_with_namespace"` } `json:"project"` Author struct { ID int `json:"id"` Name string `json:"name"` Username string `json:"username"` State string `json:"state"` AvatarURL string `json:"avatar_url"` WebURL string `json:"web_url"` } `json:"author"` ActionName TodoAction `json:"action_name"` TargetType string `json:"target_type"` Target TodoTarget `json:"target"` TargetURL string `json:"target_url"` Body string `json:"body"` State string `json:"state"` CreatedAt *time.Time `json:"created_at"` }
Todo represents a GitLab todo.
GitLab API docs: https://docs.gitlab.com/ce/api/todos.html
type TodoAction ¶ added in v0.6.0
type TodoAction string
TodoAction represents the available actions that can be performed on a todo.
GitLab API docs: https://docs.gitlab.com/ce/api/todos.html
const ( TodoAssigned TodoAction = "assigned" TodoMentioned TodoAction = "mentioned" TodoBuildFailed TodoAction = "build_failed" TodoMarked TodoAction = "marked" TodoApprovalRequired TodoAction = "approval_required" TodoDirectlyAddressed TodoAction = "directly_addressed" )
The available todo actions.
type TodoTarget ¶ added in v0.6.0
type TodoTarget struct { // TODO: replace both Assignee and Author structs with v4 User struct Assignee 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:"assignee"` 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"` CreatedAt *time.Time `json:"created_at"` Description string `json:"description"` Downvotes int `json:"downvotes"` ID int `json:"id"` IID int `json:"iid"` Labels []string `json:"labels"` Milestone Milestone `json:"milestone"` ProjectID int `json:"project_id"` State string `json:"state"` Subscribed bool `json:"subscribed"` Title string `json:"title"` UpdatedAt *time.Time `json:"updated_at"` Upvotes int `json:"upvotes"` UserNotesCount int `json:"user_notes_count"` WebURL string `json:"web_url"` // Only available for type Issue Confidential bool `json:"confidential"` DueDate string `json:"due_date"` Weight int `json:"weight"` // Only available for type MergeRequest ApprovalsBeforeMerge bool `json:"approvals_before_merge"` ForceRemoveSourceBranch bool `json:"force_remove_source_branch"` MergeCommitSha string `json:"merge_commit_sha"` MergeWhenPipelineSucceeds bool `json:"merge_when_pipeline_succeeds"` MergeStatus string `json:"merge_status"` Sha string `json:"sha"` ShouldRemoveSourceBranch bool `json:"should_remove_source_branch"` SourceBranch string `json:"source_branch"` SourceProjectID int `json:"source_project_id"` Squash bool `json:"squash"` TargetBranch string `json:"target_branch"` TargetProjectID int `json:"target_project_id"` WorkInProgress bool `json:"work_in_progress"` }
TodoTarget represents a todo target of type Issue or MergeRequest
type TodosService ¶ added in v0.6.0
type TodosService struct {
// contains filtered or unexported fields
}
TodosService handles communication with the todos related methods of the Gitlab API.
GitLab API docs: https://docs.gitlab.com/ce/api/todos.html
func (*TodosService) ListTodos ¶ added in v0.6.0
func (s *TodosService) ListTodos(opt *ListTodosOptions, options ...OptionFunc) ([]*Todo, *Response, error)
ListTodos lists all todos created by authenticated user. When no filter is applied, it returns all pending todos for the current user.
GitLab API docs: https://docs.gitlab.com/ce/api/todos.html#get-a-list-of-todos
func (*TodosService) MarkAllTodosAsDone ¶ added in v0.6.0
func (s *TodosService) MarkAllTodosAsDone(options ...OptionFunc) (*Response, error)
MarkAllTodosAsDone marks all pending todos for the current user as done.
GitLab API docs: https://docs.gitlab.com/ce/api/todos.html#mark-all-todos-as-done
func (*TodosService) MarkTodoAsDone ¶ added in v0.6.0
func (s *TodosService) MarkTodoAsDone(id int, options ...OptionFunc) (*Response, error)
MarkTodoAsDone marks a single pending todo given by its ID for the current user as done.
GitLab API docs: https://docs.gitlab.com/ce/api/todos.html#mark-a-todo-as-done
type TreeNode ¶
type TreeNode struct { ID string `json:"id"` Name string `json:"name"` Type string `json:"type"` Path string `json:"path"` Mode string `json:"mode"` }
TreeNode represents a GitLab repository file or directory.
GitLab API docs: https://docs.gitlab.com/ce/api/repositories.html
type UpdateBuildVariableOptions ¶ added in v0.6.0
type UpdateBuildVariableOptions struct { Key *string `url:"key" json:"key"` Value *string `url:"value" json:"value"` Protected *bool `url:"protected,omitempty" json:"protected,omitempty"` }
UpdateBuildVariableOptions are the parameters to UpdateBuildVariable()
Gitlab API Docs: https://docs.gitlab.com/ce/api/build_variables.html#update-variable
type UpdateFileOptions ¶
type UpdateFileOptions 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"` LastCommitID *string `url:"last_commit_id,omitempty" json:"last_commit_id,omitempty"` }
UpdateFileOptions represents the available UpdateFile() options.
GitLab API docs: https://docs.gitlab.com/ce/api/repository_files.html#update-existing-file-in-repository
type UpdateGroupOptions ¶ added in v0.6.0
type UpdateGroupOptions CreateGroupOptions
UpdateGroupOptions represents the set of available options to update a Group; as of today these are exactly the same available when creating a new Group.
GitLab API docs: https://docs.gitlab.com/ce/api/groups.html#update-group
type UpdateIssueNoteOptions ¶
type UpdateIssueNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
}
UpdateIssueNoteOptions represents the available UpdateIssueNote() options.
GitLab API docs: https://docs.gitlab.com/ce/api/notes.html#modify-existing-issue-note
type UpdateIssueOptions ¶
type UpdateIssueOptions struct { Title *string `url:"title,omitempty" json:"title,omitempty"` Description *string `url:"description,omitempty" json:"description,omitempty"` AssigneeID *int `url:"assignee_id,omitempty" json:"assignee_id,omitempty"` MilestoneID *int `url:"milestone_id,omitempty" json:"milestone_id,omitempty"` Labels Labels `url:"labels,comma,omitempty" json:"labels,omitempty"` StateEvent *string `url:"state_event,omitempty" json:"state_event,omitempty"` UpdatedAt *time.Time `url:"updated_at,omitempty" json:"updated_at,omitempty"` }
UpdateIssueOptions represents the available UpdateIssue() options.
GitLab API docs: https://docs.gitlab.com/ce/api/issues.html#edit-issues
type UpdateLabelOptions ¶
type UpdateLabelOptions struct { Name *string `url:"name,omitempty" json:"name,omitempty"` NewName *string `url:"new_name,omitempty" json:"new_name,omitempty"` Color *string `url:"color,omitempty" json:"color,omitempty"` Description *string `url:"description,omitempty" json:"description,omitempty"` }
UpdateLabelOptions represents the available UpdateLabel() options.
GitLab API docs: https://docs.gitlab.com/ce/api/labels.html#delete-a-label
type UpdateMergeRequestNoteOptions ¶
type UpdateMergeRequestNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
}
UpdateMergeRequestNoteOptions represents the available UpdateMergeRequestNote() options.
GitLab API docs: https://docs.gitlab.com/ce/api/notes.html#modify-existing-merge-request-note
type UpdateMergeRequestOptions ¶
type UpdateMergeRequestOptions struct { Title *string `url:"title,omitempty" json:"title,omitempty"` Description *string `url:"description,omitempty" json:"description,omitempty"` TargetBranch *string `url:"target_branch,omitempty" json:"target_branch,omitempty"` AssigneeID *int `url:"assignee_id,omitempty" json:"assignee_id,omitempty"` Labels Labels `url:"labels,comma,omitempty" json:"labels,omitempty"` MilestoneID *int `url:"milestone_id,omitempty" json:"milestone_id,omitempty"` StateEvent *string `url:"state_event,omitempty" json:"state_event,omitempty"` }
UpdateMergeRequestOptions represents the available UpdateMergeRequest() options.
GitLab API docs: https://docs.gitlab.com/ce/api/merge_requests.html#update-mr
type UpdateMilestoneOptions ¶
type UpdateMilestoneOptions struct { Title *string `url:"title,omitempty" json:"title,omitempty"` Description *string `url:"description,omitempty" json:"description,omitempty"` StartDate *string `url:"start_date,omitempty" json:"start_date,omitempty"` DueDate *string `url:"due_date,omitempty" json:"due_date,omitempty"` StateEvent *string `url:"state_event,omitempty" json:"state_event,omitempty"` }
UpdateMilestoneOptions represents the available UpdateMilestone() options.
GitLab API docs: https://docs.gitlab.com/ce/api/milestones.html#edit-milestone
type UpdateProjectSnippetOptions ¶ added in v0.7.2
type UpdateProjectSnippetOptions struct { Title *string `url:"title,omitempty" json:"title,omitempty"` FileName *string `url:"file_name,omitempty" json:"file_name,omitempty"` Description *string `url:"description,omitempty" json:"description,omitempty"` Code *string `url:"code,omitempty" json:"code,omitempty"` Visibility *VisibilityValue `url:"visibility,omitempty" json:"visibility,omitempty"` }
UpdateProjectSnippetOptions represents the available UpdateSnippet() options.
GitLab API docs: https://docs.gitlab.com/ce/api/project_snippets.html#update-snippet
type UpdateSettingsOptions ¶
type UpdateSettingsOptions struct { AdminNotificationEmail *string `url:"admin_notification_email,omitempty" json:"admin_notification_email,omitempty"` AfterSignOutPath *string `url:"after_sign_out_path,omitempty" json:"after_sign_out_path,omitempty"` AfterSignUpText *string `url:"after_sign_up_text,omitempty" json:"after_sign_up_text,omitempty"` AkismetApiKey *string `url:"akismet_api_key,omitempty" json:"akismet_api_key,omitempty"` AkismetEnabled *bool `url:"akismet_enabled,omitempty" json:"akismet_enabled,omitempty"` CircuitbreakerAccessRetries *int `url:"circuitbreaker_access_retries,omitempty" json:"circuitbreaker_access_retries,omitempty"` CircuitbreakerBackoffThreshold *int `url:"circuitbreaker_backoff_threshold,omitempty" json:"circuitbreaker_backoff_threshold,omitempty"` CircuitbreakerFailureCountThreshold *int `url:"circuitbreaker_failure_count_threshold,omitempty" json:"circuitbreaker_failure_count_threshold,omitempty"` CircuitbreakerFailureResetTime *int `url:"circuitbreaker_failure_reset_time,omitempty" json:"circuitbreaker_failure_reset_time,omitempty"` CircuitbreakerFailureWaitTime *int `url:"circuitbreaker_failure_wait_time,omitempty" json:"circuitbreaker_failure_wait_time,omitempty"` CircuitbreakerStorageTimeout *int `url:"circuitbreaker_storage_timeout,omitempty" json:"circuitbreaker_storage_timeout,omitempty"` ClientsideSentryDSN *string `url:"clientside_sentry_dsn,omitempty" json:"clientside_sentry_dsn,omitempty"` ClientsideSentryEnabled *bool `url:"clientside_sentry_enabled,omitempty" json:"clientside_sentry_enabled,omitempty"` ContainerRegistryTokenExpireDelay *int `url:"container_registry_token_expire_delay,omitempty" json:"container_registry_token_expire_delay,omitempty"` DefaultArtifactsExpireIn *string `url:"default_artifacts_expire_in,omitempty" json:"default_artifacts_expire_in,omitempty"` DefaultBranchProtection *int `url:"default_branch_protection,omitempty" json:"default_branch_protection,omitempty"` DefaultGroupVisibility *string `url:"default_group_visibility,omitempty" json:"default_group_visibility,omitempty"` DefaultProjectVisibility *string `url:"default_project_visibility,omitempty" json:"default_project_visibility,omitempty"` DefaultProjectsLimit *int `url:"default_projects_limit,omitempty" json:"default_projects_limit,omitempty"` DefaultSnippetVisibility *string `url:"default_snippet_visibility,omitempty" json:"default_snippet_visibility,omitempty"` DisabledOauthSignInSources []string `url:"disabled_oauth_sign_in_sources,omitempty" json:"disabled_oauth_sign_in_sources,omitempty"` DomainBlacklistEnabled *bool `url:"domain_blacklist_enabled,omitempty" json:"domain_blacklist_enabled,omitempty"` DomainBlacklist []string `url:"domain_blacklist,omitempty" json:"domain_blacklist,omitempty"` DomainWhitelist []string `url:"domain_whitelist,omitempty" json:"domain_whitelist,omitempty"` DSAKeyRestriction *int `url:"dsa_key_restriction,omitempty" json:"dsa_key_restriction,omitempty"` ECDSAKeyRestriction *int `url:"ecdsa_key_restriction,omitempty" json:"ecdsa_key_restriction,omitempty"` Ed25519KeyRestriction *int `url:"ed25519_key_restriction,omitempty" json:"ed25519_key_restriction,omitempty"` EmailAuthorInBody *bool `url:"email_author_in_body,omitempty" json:"email_author_in_body,omitempty"` EnabledGitAccessProtocol *string `url:"enabled_git_access_protocol,omitempty" json:"enabled_git_access_protocol,omitempty"` GravatarEnabled *bool `url:"gravatar_enabled,omitempty" json:"gravatar_enabled,omitempty"` HelpPageHideCommercialContent *bool `url:"help_page_hide_commercial_content,omitempty" json:"help_page_hide_commercial_content,omitempty"` HelpPageSupportURL *string `url:"help_page_support_url,omitempty" json:"help_page_support_url,omitempty"` HomePageURL *string `url:"home_page_url,omitempty" json:"home_page_url,omitempty"` HousekeepingBitmapsEnabled *bool `url:"housekeeping_bitmaps_enabled,omitempty" json:"housekeeping_bitmaps_enabled,omitempty"` HousekeepingEnabled *bool `url:"housekeeping_enabled,omitempty" json:"housekeeping_enabled,omitempty"` HousekeepingFullRepackPeriod *int `url:"housekeeping_full_repack_period,omitempty" json:"housekeeping_full_repack_period,omitempty"` HousekeepingGcPeriod *int `url:"housekeeping_gc_period,omitempty" json:"housekeeping_gc_period,omitempty"` HousekeepingIncrementalRepackPeriod *int `url:"housekeeping_incremental_repack_period,omitempty" json:"housekeeping_incremental_repack_period,omitempty"` HTMLEmailsEnabled *bool `url:"html_emails_enabled,omitempty" json:"html_emails_enabled,omitempty"` ImportSources []string `url:"import_sources,omitempty" json:"import_sources,omitempty"` KodingEnabled *bool `url:"koding_enabled,omitempty" json:"koding_enabled,omitempty"` KodingURL *string `url:"koding_url,omitempty" json:"koding_url,omitempty"` MaxArtifactsSize *int `url:"max_artifacts_size,omitempty" json:"max_artifacts_size,omitempty"` MaxAttachmentSize *int `url:"max_attachment_size,omitempty" json:"max_attachment_size,omitempty"` MaxPagesSize *int `url:"max_pages_size,omitempty" json:"max_pages_size,omitempty"` MetricsEnabled *bool `url:"metrics_enabled,omitempty" json:"metrics_enabled,omitempty"` MetricsHost *string `url:"metrics_host,omitempty" json:"metrics_host,omitempty"` MetricsMethodCallThreshold *int `url:"metrics_method_call_threshold,omitempty" json:"metrics_method_call_threshold,omitempty"` MetricsPacketSize *int `url:"metrics_packet_size,omitempty" json:"metrics_packet_size,omitempty"` MetricsPoolSize *int `url:"metrics_pool_size,omitempty" json:"metrics_pool_size,omitempty"` MetricsPort *int `url:"metrics_port,omitempty" json:"metrics_port,omitempty"` MetricsSampleInterval *int `url:"metrics_sample_interval,omitempty" json:"metrics_sample_interval,omitempty"` MetricsTimeout *int `url:"metrics_timeout,omitempty" json:"metrics_timeout,omitempty"` PasswordAuthenticationEnabled *bool `url:"password_authentication_enabled,omitempty" json:"password_authentication_enabled,omitempty"` PerformanceBarAllowedGroupId *string `url:"performance_bar_allowed_group_id,omitempty" json:"performance_bar_allowed_group_id,omitempty"` PerformanceBarEnabled *bool `url:"performance_bar_enabled,omitempty" json:"performance_bar_enabled,omitempty"` PlantumlEnabled *bool `url:"plantuml_enabled,omitempty" json:"plantuml_enabled,omitempty"` PlantumlURL *string `url:"plantuml_url,omitempty" json:"plantuml_url,omitempty"` PollingIntervalMultiplier *float64 `url:"polling_interval_multiplier,omitempty" json:"polling_interval_multiplier,omitempty"` ProjectExportEnabled *bool `url:"project_export_enabled,omitempty" json:"project_export_enabled,omitempty"` PrometheusMetricsEnabled *bool `url:"prometheus_metrics_enabled,omitempty" json:"prometheus_metrics_enabled,omitempty"` RecaptchaEnabled *bool `url:"recaptcha_enabled,omitempty" json:"recaptcha_enabled,omitempty"` RecaptchaPrivateKey *string `url:"recaptcha_private_key,omitempty" json:"recaptcha_private_key,omitempty"` RecaptchaSiteKey *string `url:"recaptcha_site_key,omitempty" json:"recaptcha_site_key,omitempty"` RepositoryChecksEnabled *bool `url:"repository_checks_enabled,omitempty" json:"repository_checks_enabled,omitempty"` RepositoryStorages []string `url:"repository_storages,omitempty" json:"repository_storages,omitempty"` RequireTwoFactorAuthentication *bool `url:"require_two_factor_authentication,omitempty" json:"require_two_factor_authentication,omitempty"` RestrictedVisibilityLevels []VisibilityValue `url:"restricted_visibility_levels,omitempty" json:"restricted_visibility_levels,omitempty"` RsaKeyRestriction *int `url:"rsa_key_restriction,omitempty" json:"rsa_key_restriction,omitempty"` SendUserConfirmationEmail *bool `url:"send_user_confirmation_email,omitempty" json:"send_user_confirmation_email,omitempty"` SentryDSN *string `url:"sentry_dsn,omitempty" json:"sentry_dsn,omitempty"` SentryEnabled *bool `url:"sentry_enabled,omitempty" json:"sentry_enabled,omitempty"` SessionExpireDelay *int `url:"session_expire_delay,omitempty" json:"session_expire_delay,omitempty"` SidekiqThrottlingEnabled *bool `url:"sidekiq_throttling_enabled,omitempty" json:"sidekiq_throttling_enabled,omitempty"` SidekiqThrottlingFactor *float64 `url:"sidekiq_throttling_factor,omitempty" json:"sidekiq_throttling_factor,omitempty"` SidekiqThrottlingQueues []string `url:"sidekiq_throttling_queues,omitempty" json:"sidekiq_throttling_queues,omitempty"` SignInText *string `url:"sign_in_text,omitempty" json:"sign_in_text,omitempty"` SignupEnabled *bool `url:"signup_enabled,omitempty" json:"signup_enabled,omitempty"` TerminalMaxSessionTime *int `url:"terminal_max_session_time,omitempty" json:"terminal_max_session_time,omitempty"` TwoFactorGracePeriod *int `url:"two_factor_grace_period,omitempty" json:"two_factor_grace_period,omitempty"` UniqueIPsLimitEnabled *bool `url:"unique_ips_limit_enabled,omitempty" json:"unique_ips_limit_enabled,omitempty"` UniqueIPsLimitPerUser *int `url:"unique_ips_limit_per_user,omitempty" json:"unique_ips_limit_per_user,omitempty"` UniqueIPsLimitTimeWindow *int `url:"unique_ips_limit_time_window,omitempty" json:"unique_ips_limit_time_window,omitempty"` UsagePingEnabled *bool `url:"usage_ping_enabled,omitempty" json:"usage_ping_enabled,omitempty"` UserDefaultExternal *bool `url:"user_default_external,omitempty" json:"user_default_external,omitempty"` UserOauthApplications *bool `url:"user_oauth_applications,omitempty" json:"user_oauth_applications,omitempty"` VersionCheckEnabled *bool `url:"version_check_enabled,omitempty" json:"version_check_enabled,omitempty"` }
UpdateSettingsOptions represents the available UpdateSettings() options.
GitLab API docs: https://docs.gitlab.com/ce/api/settings.html#change-application.settings
type UpdateSnippetNoteOptions ¶
type UpdateSnippetNoteOptions struct {
Body *string `url:"body,omitempty" json:"body,omitempty"`
}
UpdateSnippetNoteOptions represents the available UpdateSnippetNote() options.
GitLab API docs: https://docs.gitlab.com/ce/api/notes.html#modify-existing-snippet-note
type UpdateSnippetOptions ¶
type UpdateSnippetOptions struct { Title *string `url:"title,omitempty" json:"title,omitempty"` FileName *string `url:"file_name,omitempty" json:"file_name,omitempty"` Description *string `url:"description,omitempty" json:"description,omitempty"` Content *string `url:"content,omitempty" json:"content,omitempty"` Visibility *VisibilityValue `url:"visibility,omitempty" json:"visibility,omitempty"` }
UpdateSnippetOptions represents the available UpdateSnippet() options.
GitLab API docs: https://docs.gitlab.com/ce/api/snippets.html#update-snippet
type User ¶
type User struct { ID int `json:"id"` Username string `json:"username"` Email string `json:"email"` Name string `json:"name"` State string `json:"state"` CreatedAt *time.Time `json:"created_at"` Bio string `json:"bio"` Location string `json:"location"` Skype string `json:"skype"` Linkedin string `json:"linkedin"` Twitter string `json:"twitter"` WebsiteURL string `json:"website_url"` Organization string `json:"organization"` ExternUID string `json:"extern_uid"` Provider string `json:"provider"` ThemeID int `json:"theme_id"` ColorSchemeID int `json:"color_scheme_id"` IsAdmin bool `json:"is_admin"` AvatarURL string `json:"avatar_url"` CanCreateGroup bool `json:"can_create_group"` CanCreateProject bool `json:"can_create_project"` ProjectsLimit int `json:"projects_limit"` CurrentSignInAt *time.Time `json:"current_sign_in_at"` LastSignInAt *time.Time `json:"last_sign_in_at"` TwoFactorEnabled bool `json:"two_factor_enabled"` Identities []*UserIdentity `json:"identities"` External bool `json:"external"` }
User represents a GitLab user.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html
type UserActivity ¶ added in v0.7.2
type UserActivity struct { Username string `json:"username"` LastActivityOn *ISOTime `json:"last_activity_on"` }
UserActivity represents an entry in the user/activities response
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#get-user-activities-admin-only
type UserIdentity ¶
UserIdentity represents a user identity
type UsersService ¶
type UsersService struct {
// contains filtered or unexported fields
}
UsersService handles communication with the user related methods of the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html
func (*UsersService) AddEmail ¶ added in v0.4.0
func (s *UsersService) AddEmail(opt *AddEmailOptions, options ...OptionFunc) (*Email, *Response, error)
AddEmail creates a new email owned by the currently authenticated user.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#add-email
func (*UsersService) AddEmailForUser ¶ added in v0.4.0
func (s *UsersService) AddEmailForUser(user int, opt *AddEmailOptions, options ...OptionFunc) (*Email, *Response, error)
AddEmailForUser creates new email owned by specified user. Available only for admin.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#add-email-for-user
func (*UsersService) AddSSHKey ¶
func (s *UsersService) AddSSHKey(opt *AddSSHKeyOptions, options ...OptionFunc) (*SSHKey, *Response, error)
AddSSHKey creates a new key owned by the currently authenticated user.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#add-ssh-key
func (*UsersService) AddSSHKeyForUser ¶
func (s *UsersService) AddSSHKeyForUser(user int, opt *AddSSHKeyOptions, options ...OptionFunc) (*SSHKey, *Response, error)
AddSSHKeyForUser creates new key owned by specified user. Available only for admin.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#add-ssh-key-for-user
func (*UsersService) BlockUser ¶
func (s *UsersService) BlockUser(user int, options ...OptionFunc) error
BlockUser blocks the specified user. Available only for admin.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#block-user
func (*UsersService) CreateImpersonationToken ¶ added in v0.6.0
func (s *UsersService) CreateImpersonationToken(user int, opt *CreateImpersonationTokenOptions, options ...OptionFunc) (*ImpersonationToken, *Response, error)
CreateImpersonationToken creates an impersonation token.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#create-an-impersonation-token
func (*UsersService) CreateUser ¶
func (s *UsersService) CreateUser(opt *CreateUserOptions, options ...OptionFunc) (*User, *Response, error)
CreateUser creates a new user. Note only administrators can create new users.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#user-creation
func (*UsersService) CurrentUser ¶
func (s *UsersService) CurrentUser(options ...OptionFunc) (*User, *Response, error)
CurrentUser gets currently authenticated user.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#current-user
func (*UsersService) DeleteEmail ¶ added in v0.4.0
func (s *UsersService) DeleteEmail(email int, options ...OptionFunc) (*Response, error)
DeleteEmail deletes email owned by currently authenticated user. This is an idempotent function and calling it on a key that is already deleted or not available results in 200 OK.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#delete-email-for-current-owner
func (*UsersService) DeleteEmailForUser ¶ added in v0.4.0
func (s *UsersService) DeleteEmailForUser(user, email int, options ...OptionFunc) (*Response, error)
DeleteEmailForUser deletes email owned by a specified user. Available only for admin.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#delete-email-for-given-user
func (*UsersService) DeleteSSHKey ¶
func (s *UsersService) DeleteSSHKey(key int, options ...OptionFunc) (*Response, error)
DeleteSSHKey deletes key owned by currently authenticated user. This is an idempotent function and calling it on a key that is already deleted or not available results in 200 OK.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#delete-ssh-key-for-current-owner
func (*UsersService) DeleteSSHKeyForUser ¶
func (s *UsersService) DeleteSSHKeyForUser(user, key int, options ...OptionFunc) (*Response, error)
DeleteSSHKeyForUser deletes key owned by a specified user. Available only for admin.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#delete-ssh-key-for-given-user
func (*UsersService) DeleteUser ¶
func (s *UsersService) DeleteUser(user int, options ...OptionFunc) (*Response, error)
DeleteUser deletes a user. Available only for administrators. This is an idempotent function, calling this function for a non-existent user id still returns a status code 200 OK. The JSON response differs if the user was actually deleted or not. In the former the user is returned and in the latter not.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#user-deletion
func (*UsersService) GetAllImpersonationTokens ¶ added in v0.6.0
func (s *UsersService) GetAllImpersonationTokens(user int, opt *GetAllImpersonationTokensOptions, options ...OptionFunc) ([]*ImpersonationToken, *Response, error)
GetAllImpersonationTokens retrieves all impersonation tokens of a user.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#get-all-impersonation-tokens-of-a-user
func (*UsersService) GetEmail ¶ added in v0.4.0
func (s *UsersService) GetEmail(email int, options ...OptionFunc) (*Email, *Response, error)
GetEmail gets a single email.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#single-email
func (*UsersService) GetImpersonationToken ¶ added in v0.6.0
func (s *UsersService) GetImpersonationToken(user, token int, options ...OptionFunc) (*ImpersonationToken, *Response, error)
GetImpersonationToken retrieves an impersonation token of a user.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#get-an-impersonation-token-of-a-user
func (*UsersService) GetSSHKey ¶
func (s *UsersService) GetSSHKey(key int, options ...OptionFunc) (*SSHKey, *Response, error)
GetSSHKey gets a single key.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#single-ssh-key
func (*UsersService) GetUser ¶
func (s *UsersService) GetUser(user int, options ...OptionFunc) (*User, *Response, error)
GetUser gets a single user.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#single-user
func (*UsersService) GetUserActivities ¶ added in v0.7.2
func (s *UsersService) GetUserActivities(options ...OptionFunc) ([]*UserActivity, *Response, error)
GetUserActivities retrieves user activities (admin only)
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#get-user-activities-admin-only
func (*UsersService) ListEmails ¶ added in v0.4.0
func (s *UsersService) ListEmails(options ...OptionFunc) ([]*Email, *Response, error)
ListEmails gets a list of currently authenticated user's Emails.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#list-emails
func (*UsersService) ListEmailsForUser ¶ added in v0.4.0
func (s *UsersService) ListEmailsForUser(user int, options ...OptionFunc) ([]*Email, *Response, error)
ListEmailsForUser gets a list of a specified user's Emails. Available only for admin
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#list-emails-for-user
func (*UsersService) ListSSHKeys ¶
func (s *UsersService) ListSSHKeys(options ...OptionFunc) ([]*SSHKey, *Response, error)
ListSSHKeys gets a list of currently authenticated user's SSH keys.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#list-ssh-keys
func (*UsersService) ListSSHKeysForUser ¶
func (s *UsersService) ListSSHKeysForUser(user int, options ...OptionFunc) ([]*SSHKey, *Response, error)
ListSSHKeysForUser gets a list of a specified user's SSH keys. Available only for admin
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#list-ssh-keys-for-user
func (*UsersService) ListUsers ¶
func (s *UsersService) ListUsers(opt *ListUsersOptions, options ...OptionFunc) ([]*User, *Response, error)
ListUsers gets a list of users.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#list-users
func (*UsersService) ModifyUser ¶
func (s *UsersService) ModifyUser(user int, opt *ModifyUserOptions, options ...OptionFunc) (*User, *Response, error)
ModifyUser modifies an existing user. Only administrators can change attributes of a user.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#user-modification
func (*UsersService) RevokeImpersonationToken ¶ added in v0.6.0
func (s *UsersService) RevokeImpersonationToken(user, token int, options ...OptionFunc) (*Response, error)
RevokeImpersonationToken revokes an impersonation token.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#revoke-an-impersonation-token
func (*UsersService) UnblockUser ¶
func (s *UsersService) UnblockUser(user int, options ...OptionFunc) error
UnblockUser unblocks the specified user. Available only for admin.
GitLab API docs: https://docs.gitlab.com/ce/api/users.html#unblock-user
type Version ¶ added in v0.6.0
Version represents a GitLab instance version.
GitLab API docs: https://docs.gitlab.com/ce/api/version.md
type VersionService ¶ added in v0.6.0
type VersionService struct {
// contains filtered or unexported fields
}
VersionService handles communication with the GitLab server instance to retrieve its version information via the GitLab API.
GitLab API docs: https://docs.gitlab.com/ce/api/version.md
func (*VersionService) GetVersion ¶ added in v0.6.0
func (s *VersionService) GetVersion() (*Version, *Response, error)
GetVersion gets a GitLab server instance version; it is only available to authenticated users.
GitLab API docs: https://docs.gitlab.com/ce/api/version.md
type VisibilityValue ¶ added in v0.6.0
type VisibilityValue string
VisibilityValue represents a visibility level within GitLab.
GitLab API docs: https://docs.gitlab.com/ce/api/
const ( PrivateVisibility VisibilityValue = "private" InternalVisibility VisibilityValue = "internal" PublicVisibility VisibilityValue = "public" )
List of available visibility levels
GitLab API docs: https://docs.gitlab.com/ce/api/
func Visibility ¶ added in v0.6.0
func Visibility(v VisibilityValue) *VisibilityValue
Visibility is a helper routine that allocates a new VisibilityValue to store v and returns a pointer to it.
type Wiki ¶ added in v0.7.0
type Wiki struct { Content string `json:"content"` Format WikiFormat `json:"format"` Slug string `json:"slug"` Title string `json:"title"` }
Wiki represents a GitLab wiki.
GitLab API docs: https://docs.gitlab.com/ce/api/wikis.html
type WikiFormat ¶ added in v0.7.0
type WikiFormat string
WikiFormat represents the available wiki formats.
GitLab API docs: https://docs.gitlab.com/ce/api/wikis.html
const ( WikiFormatMarkdown WikiFormat = "markdown" WikiFormatRFoc WikiFormat = "rdoc" WikiFormatASCIIDoc WikiFormat = "asciidoc" )
The available wiki formats.
type WikiPageEvent ¶ added in v0.3.1
type WikiPageEvent 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"` Wiki struct { WebURL string `json:"web_url"` GitSSHURL string `json:"git_ssh_url"` GitHTTPURL string `json:"git_http_url"` PathWithNamespace string `json:"path_with_namespace"` DefaultBranch string `json:"default_branch"` } `json:"wiki"` ObjectAttributes struct { Title string `json:"title"` Content string `json:"content"` Format string `json:"format"` Message string `json:"message"` Slug string `json:"slug"` URL string `json:"url"` Action string `json:"action"` } `json:"object_attributes"` }
WikiPageEvent represents a wiki page event.
GitLab API docs: https://docs.gitlab.com/ce/web_hooks/web_hooks.html#wiki-page-events
type WikisService ¶ added in v0.7.0
type WikisService struct {
// contains filtered or unexported fields
}
WikisService handles communication with the wikis related methods of the Gitlab API.
GitLab API docs: https://docs.gitlab.com/ce/api/wikis.html
func (*WikisService) CreateWikiPage ¶ added in v0.7.0
func (s *WikisService) CreateWikiPage(pid interface{}, opt *CreateWikiPageOptions, options ...OptionFunc) (*Wiki, *Response, error)
CreateWikiPage creates a new wiki page for the given repository with the given title, slug, and content.
GitLab API docs: https://docs.gitlab.com/ce/api/wikis.html#create-a-new-wiki-page
func (*WikisService) DeleteWikiPage ¶ added in v0.7.0
func (s *WikisService) DeleteWikiPage(pid interface{}, slug string, options ...OptionFunc) (*Response, error)
DeleteWikiPage deletes a wiki page with a given slug.
GitLab API docs: https://docs.gitlab.com/ce/api/wikis.html#delete-a-wiki-page
func (*WikisService) EditWikiPage ¶ added in v0.7.0
func (s *WikisService) EditWikiPage(pid interface{}, slug string, opt *EditWikiPageOptions, options ...OptionFunc) (*Wiki, *Response, error)
EditWikiPage Updates an existing wiki page. At least one parameter is required to update the wiki page.
GitLab API docs: https://docs.gitlab.com/ce/api/wikis.html#edit-an-existing-wiki-page
func (*WikisService) GetWikiPage ¶ added in v0.7.0
func (s *WikisService) GetWikiPage(pid interface{}, slug string, options ...OptionFunc) (*Wiki, *Response, error)
GetWikiPage gets a wiki page for a given project.
GitLab API docs: https://docs.gitlab.com/ce/api/wikis.html#get-a-wiki-page
func (*WikisService) ListWikis ¶ added in v0.7.0
func (s *WikisService) ListWikis(pid interface{}, opt *ListWikisOptions, options ...OptionFunc) ([]*Wiki, *Response, error)
ListWikis lists all pages of the wiki of the given project id. When with_content is set, it also returns the content of the pages.
GitLab API docs: https://docs.gitlab.com/ce/api/wikis.html#list-wiki-pages
Source Files ¶
- branches.go
- build_variables.go
- commits.go
- deploy_keys.go
- environments.go
- events.go
- feature_flags.go
- gitlab.go
- group_members.go
- groups.go
- issues.go
- jobs.go
- labels.go
- merge_requests.go
- milestones.go
- namespaces.go
- notes.go
- notifications.go
- pipeline_triggers.go
- pipelines.go
- project_members.go
- project_snippets.go
- projects.go
- repositories.go
- repository_files.go
- services.go
- session.go
- settings.go
- snippets.go
- strings.go
- system_hooks.go
- tags.go
- time_stats.go
- todos.go
- users.go
- version.go
- wikis.go