Documentation ¶
Overview ¶
Package github implements a simple client to consume gitlab API.
Index ¶
- Constants
- Variables
- func AggregateJobs(jobs []*Job) map[int]map[string]map[string][]*Job
- func PopulateCiInfo(out interface{}) error
- type AcceptMergeRequestRequest
- type AccessLevelInfo
- type ActivityFeed
- type AddMergeRequestRequest
- type ArtifactsFile
- type Badge
- type BadgeCollection
- type Branch
- type BranchCollection
- type BranchCommit
- type BranchesOptions
- type Build
- type ChangeItem
- type CiEnvKey
- type CiInfo
- type Commit
- type CommitActionOptions
- type CommitStatus
- type CreateCommitOptions
- type Environment
- type EnvironmentAddPayload
- type EnvironmentCollection
- type EnvironmentProject
- type FeedCommit
- type Gitlab
- func (g *Gitlab) Activity() (ActivityFeed, error)
- func (g *Gitlab) AddCurrentUserSshKey(title, key string) (*ResponseMeta, error)
- func (g *Gitlab) AddGroup(group *GroupAddPayload) (*GroupWithDetails, *ResponseMeta, error)
- func (g *Gitlab) AddGroupEpicNote(groupId string, epicId int, note *NoteAddPayload) (*Note, *ResponseMeta, error)
- func (g *Gitlab) AddGroupMember(projectId string, opt *MemberOptions) (*Member, *ResponseMeta, error)
- func (g *Gitlab) AddGroupVariable(groupId string, variable *Variable) (*Variable, *ResponseMeta, error)
- func (g *Gitlab) AddIssue(projectId string, req *IssueRequest) (issue *Issue, meta *ResponseMeta, err error)
- func (g *Gitlab) AddMergeRequest(req *AddMergeRequestRequest) (*MergeRequest, error)
- func (g *Gitlab) AddProject(project *ProjectAddPayload) (*Project, *ResponseMeta, error)
- func (g *Gitlab) AddProjectBadge(projectId string, badge *Badge) (*Badge, *ResponseMeta, error)
- func (g *Gitlab) AddProjectBranch(projectId string, branchName, ref string) (*Branch, *ResponseMeta, error)
- func (g *Gitlab) AddProjectDeployKey(id, title, key string) (*ResponseMeta, error)
- func (g *Gitlab) AddProjectEnvironment(projectId string, environment *EnvironmentAddPayload) (*Environment, *ResponseMeta, error)
- func (g *Gitlab) AddProjectHook(projectId string, hook *HookAddPayload) (*Hook, *ResponseMeta, error)
- func (g *Gitlab) AddProjectIssueNote(projectId string, issueIid int, note *NoteAddPayload) (*Note, *ResponseMeta, error)
- func (g *Gitlab) AddProjectMember(projectId string, opt *MemberOptions) (*Member, *ResponseMeta, error)
- func (g *Gitlab) AddProjectMergeRequestNote(projectId string, mergeRequestIid int, note *NoteAddPayload) (*Note, *ResponseMeta, error)
- func (g *Gitlab) AddProjectSnippetNote(projectId string, snippetId int, note *NoteAddPayload) (*Note, *ResponseMeta, error)
- func (g *Gitlab) AddProjectVariable(projectId string, variable *Variable) (*Variable, *ResponseMeta, error)
- func (g *Gitlab) AddUserSshKey(userId, title, key string) (*ResponseMeta, error)
- func (g *Gitlab) CancelProjectJob(projectId string, jobId int) (*Job, *ResponseMeta, error)
- func (g *Gitlab) CreateCommit(id string, commitOpts *CreateCommitOptions) (*Commit, *ResponseMeta, error)
- func (g *Gitlab) CurrentUser() (*User, *ResponseMeta, error)
- func (g *Gitlab) CurrentUserSshKey(id string) (*SshKey, *ResponseMeta, error)
- func (g *Gitlab) CurrentUserSshKeys(o *PaginationOptions) (*SshKeyCollection, *ResponseMeta, error)
- func (g *Gitlab) DeleteCurrentUserSshKey(keyId int) (*ResponseMeta, error)
- func (g *Gitlab) DeleteRunner(id int) (*Runner, *ResponseMeta, error)
- func (g *Gitlab) DeleteUserSshKey(userId, keyId int) (*ResponseMeta, error)
- func (g *Gitlab) DisableProjectRunner(projectId string, id int) (*Runner, *ResponseMeta, error)
- func (g *Gitlab) EditMergeRequest(mr *MergeRequest) error
- func (g *Gitlab) EnableProjectRunner(projectId string, id int) (*Runner, *ResponseMeta, error)
- func (g *Gitlab) EraseProjectJob(projectId string, jobId int) (*Job, *ResponseMeta, error)
- func (g *Gitlab) Group(id string, withCustomAttributes bool) (*GroupWithDetails, *ResponseMeta, error)
- func (g *Gitlab) GroupEpicNote(groupId string, epicId, noteId int) (*Note, *ResponseMeta, error)
- func (g *Gitlab) GroupEpicNotes(groupId string, epicId int, o *NotesOptions) (*NoteCollection, *ResponseMeta, error)
- func (g *Gitlab) GroupMembers(groupId string, o *MembersOptions) (*MemberCollection, *ResponseMeta, error)
- func (g *Gitlab) GroupMergeRequests(groupId int, o *MergeRequestsOptions) (*MergeRequestCollection, *ResponseMeta, error)
- func (g *Gitlab) GroupProjects(id string) ([]*Project, *ResponseMeta, error)
- func (g *Gitlab) GroupVariable(groupId, varKey string) (*Variable, *ResponseMeta, error)
- func (g *Gitlab) GroupVariables(groupId string, o *PaginationOptions) (*VariableCollection, *ResponseMeta, error)
- func (g *Gitlab) Groups(o *GroupsOptions) (*GroupCollection, *ResponseMeta, error)
- func (g *Gitlab) MergeRequests(o *MergeRequestsOptions) (*MergeRequestCollection, *ResponseMeta, error)
- func (g *Gitlab) Namespace(id string) (*Namespace, *ResponseMeta, error)
- func (g *Gitlab) Namespaces(o *NamespacesOptions) (*NamespaceCollection, *ResponseMeta, error)
- func (g *Gitlab) Project(id string, withStatistics bool) (*Project, *ResponseMeta, error)
- func (g *Gitlab) ProjectBadge(projectId string, badgeId int) (*Badge, *ResponseMeta, error)
- func (g *Gitlab) ProjectBadges(projectId string, o *PaginationOptions) (*BadgeCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectBranch(projectId, branchName string) (*Branch, *ResponseMeta, error)
- func (g *Gitlab) ProjectBranches(projectId string, o *BranchesOptions) (*BranchCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectBuildArtifacts(id, buildId string) (io.ReadCloser, error)
- func (g *Gitlab) ProjectCommitBuilds(id, sha1 string) ([]*Build, *ResponseMeta, error)
- func (g *Gitlab) ProjectCommitStatuses(id, sha1 string) ([]*CommitStatus, *ResponseMeta, error)
- func (g *Gitlab) ProjectDeployKey(id, keyId string) (*SshKey, *ResponseMeta, error)
- func (g *Gitlab) ProjectDeployKeys(id string) ([]*SshKey, *ResponseMeta, error)
- func (g *Gitlab) ProjectEnvironments(projectId string, o *PaginationOptions) (*EnvironmentCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectHook(projectId, hookId string) (*Hook, *ResponseMeta, error)
- func (g *Gitlab) ProjectHooks(projectId string) (*HookCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectIssueNote(projectId string, issueIid, noteId int) (*Note, *ResponseMeta, error)
- func (g *Gitlab) ProjectIssueNotes(projectId string, issueIid int, o *NotesOptions) (*NoteCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectJob(projectId string, jobId int) (*Job, *ResponseMeta, error)
- func (g *Gitlab) ProjectJobTrace(projectId string, jobId int) (string, *ResponseMeta, error)
- func (g *Gitlab) ProjectJobs(projectId string, o *JobsOptions) (*JobCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectMembers(projectId string, o *MembersOptions) (*MemberCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectMergeRequest(projectId string, mergeRequestId int) (*MergeRequest, *ResponseMeta, error)
- func (g *Gitlab) ProjectMergeRequestAccept(id, merge_request_id string, req *AcceptMergeRequestRequest) (*MergeRequest, error)
- func (g *Gitlab) ProjectMergeRequestCancelMerge(id, merge_request_id string) (*MergeRequest, *ResponseMeta, error)
- func (g *Gitlab) ProjectMergeRequestChanges(id, merge_request_id string) (*MergeRequestChanges, *ResponseMeta, error)
- func (g *Gitlab) ProjectMergeRequestCommits(id, merge_request_id string) ([]*Commit, *ResponseMeta, error)
- func (g *Gitlab) ProjectMergeRequestNote(projectId string, mergeRequestIid, noteId int) (*Note, *ResponseMeta, error)
- func (g *Gitlab) ProjectMergeRequestNotes(projectId string, mergeRequestIid int, o *NotesOptions) (*NoteCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectMergeRequests(projectId string, o *MergeRequestsOptions) (*MergeRequestCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectPipeline(projectId, pipelineId string) (*PipelineWithDetails, *ResponseMeta, error)
- func (g *Gitlab) ProjectPipelineJobs(projectId string, pipelineId int, o *JobsOptions) (*JobCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectPipelines(projectId string, o *PipelinesOptions) (*PipelineCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectRunners(projectId string, page, per_page int) ([]*Runner, *ResponseMeta, error)
- func (g *Gitlab) ProjectSnippetNote(projectId string, snippetId, noteId int) (*Note, *ResponseMeta, error)
- func (g *Gitlab) ProjectSnippetNotes(projectId string, snippetId int, o *NotesOptions) (*NoteCollection, *ResponseMeta, error)
- func (g *Gitlab) ProjectTag(projectId, tagName string) (*Tag, *ResponseMeta, error)
- func (g *Gitlab) ProjectVariable(projectId, varKey string) (*Variable, *ResponseMeta, error)
- func (g *Gitlab) ProjectVariables(projectId string, o *PaginationOptions) (*VariableCollection, *ResponseMeta, error)
- func (g *Gitlab) Projects(o *ProjectsOptions) (*ProjectCollection, *ResponseMeta, error)
- func (g *Gitlab) ProtectBranch(projectId, branchName string) (*ResponseMeta, error)
- func (g *Gitlab) ProtectedBranches(projectId string, o *PaginationOptions) ([]*ProtectedBranch, *ResponseMeta, error)
- func (g *Gitlab) RemoveGroup(id string) (string, *ResponseMeta, error)
- func (g *Gitlab) RemoveGroupEpicNote(groupId string, epicId, noteId int) (*ResponseMeta, error)
- func (g *Gitlab) RemoveGroupVariable(groupId, varKey string) (*ResponseMeta, error)
- func (g *Gitlab) RemoveProject(id string) (string, *ResponseMeta, error)
- func (g *Gitlab) RemoveProjectBadge(projectId, badgeId string) (*ResponseMeta, error)
- func (g *Gitlab) RemoveProjectBranch(projectId, branchName string) (*ResponseMeta, error)
- func (g *Gitlab) RemoveProjectDeployKey(id, keyId string) (*ResponseMeta, error)
- func (g *Gitlab) RemoveProjectEnvironment(projectId string, id int) (*ResponseMeta, error)
- func (g *Gitlab) RemoveProjectHook(projectId, hookId string) (*ResponseMeta, error)
- func (g *Gitlab) RemoveProjectIssueNote(projectId string, issueIid, noteId int) (*ResponseMeta, error)
- func (g *Gitlab) RemoveProjectMergeRequestNote(projectId string, mergeRequestIid, noteId int) (*ResponseMeta, error)
- func (g *Gitlab) RemoveProjectMergedBranches(projectId string) (string, *ResponseMeta, error)
- func (g *Gitlab) RemoveProjectSnippetNote(projectId string, snippetId, noteId int) (*ResponseMeta, error)
- func (g *Gitlab) RemoveProjectVariable(projectId, varKey string) (*ResponseMeta, error)
- func (g *Gitlab) RemoveUser(id string) (*ResponseMeta, error)
- func (g *Gitlab) RepoActivityFeed(feedPath string) ActivityFeed
- func (g *Gitlab) RepoCommits(id string) ([]*Commit, *ResponseMeta, error)
- func (g *Gitlab) RepoRawFile(id, sha, filepath string) ([]byte, *ResponseMeta, error)
- func (g *Gitlab) RepoTags(id string) ([]*Tag, *ResponseMeta, error)
- func (g *Gitlab) RepoTree(id, path, refName string) ([]*TreeNode, *ResponseMeta, error)
- func (g *Gitlab) ResourceUrl(path string, params map[string]string) *url.URL
- func (g *Gitlab) ResourceUrlQ(path string, params map[string]string, qs interface{}) *url.URL
- func (g *Gitlab) RetryProjectJob(projectId string, jobId int) (*Job, *ResponseMeta, error)
- func (g *Gitlab) Runner(id int) (*RunnerWithDetails, *ResponseMeta, error)
- func (g *Gitlab) Runners(o *RunnersOptions) (*RunnerCollection, *ResponseMeta, error)
- func (g *Gitlab) StarProject(id string) (*Project, *ResponseMeta, error)
- func (g *Gitlab) UnprotectBranch(projectId, branchName string) (*ResponseMeta, error)
- func (g *Gitlab) UnstarProject(id string) (*Project, *ResponseMeta, error)
- func (g *Gitlab) UpdateGroup(id string, group *GroupUpdatePayload) (*GroupWithDetails, error)
- func (g *Gitlab) UpdateGroupMember(projectId, userId string, opt *MemberOptions) (*Member, *ResponseMeta, error)
- func (g *Gitlab) UpdateProject(id string, project *Project) (*Project, *ResponseMeta, error)
- func (g *Gitlab) UpdateProjectMember(projectId, userId string, opt *MemberOptions) (*Member, *ResponseMeta, error)
- func (g *Gitlab) UpdateRunner(id int, runner *Runner) (*Runner, *ResponseMeta, error)
- func (g *Gitlab) User(id string) (*User, *ResponseMeta, error)
- func (g *Gitlab) UserSshKeys(userId int, o *PaginationOptions) (*SshKeyCollection, *ResponseMeta, error)
- func (g *Gitlab) Users(o *UsersOptions) (*UserCollection, *ResponseMeta, error)
- type Group
- type GroupAddPayload
- type GroupCollection
- type GroupUpdatePayload
- type GroupWithDetails
- type GroupsOptions
- type Hook
- type HookAddPayload
- type HookCollection
- type HookObjAttr
- type HookPayload
- type Issue
- type IssueRequest
- type Job
- type JobCollection
- type JobsOptions
- type Link
- type Member
- type MemberCollection
- type MemberOptions
- type MembersOptions
- type MergeRequest
- type MergeRequestChanges
- type MergeRequestCollection
- type MergeRequestScope
- type MergeRequestUser
- type MergeRequestsOptions
- type Milestone
- type MinimalProject
- type Namespace
- type NamespaceCollection
- type NamespacesOptions
- type Note
- type NoteAddPayload
- type NoteCollection
- type NotesOptions
- type PaginationOptions
- type Person
- type Pipeline
- type PipelineCollection
- type PipelineWithDetails
- type PipelinesOptions
- type Project
- type ProjectAddPayload
- type ProjectCollection
- type ProjectGroupSharing
- type ProjectStatistics
- type ProjectsOptions
- type ProjectsOrder
- type ProtectedBranch
- type Renderable
- type ResponseMeta
- type ResponseWithMessage
- type Runner
- type RunnerCollection
- type RunnerScope
- type RunnerWithDetails
- type RunnersOptions
- type SortDirection
- type SortOptions
- type SshKey
- type SshKeyCollection
- type Tag
- type TimeStats
- type TreeNode
- type User
- type UserCollection
- type UserIdentity
- type UsersOptions
- type Variable
- type VariableCollection
- type Visibility
Constants ¶
const ( ProjectBadgesApiPath = "/projects/:id/badges" ProjectBadgeApiPath = "/projects/:id/badges/:badge_id" )
const ( ProjectBranchesApiPath = "/projects/:id/repository/branches" ProjectBranchApiPath = "/projects/:id/repository/branches/:branch" ProjectMergedBranchesApiPath = "/projects/:id/repository/merged_branches" )
const ( ProjectCommitBuildsApiPath = "/projects/:id/repository/commits/:sha/builds" ProjectBuildArtifactsApiPath = "/projects/:id/builds/:build_id/artifacts" )
const ( ProjectCommitStatusesApiPath = "/projects/:id/repository/commits/:sha/statuses" CreateCommitApiPath = "/projects/:id/repository/commits" )
const ( ProjectDeployKeysApiPath = "/projects/:id/keys" ProjectDeployKeyApiPath = "/projects/:id/keys/:key_id" )
const ( ProjectEnvironmentsApiPath = "/projects/:id/environments" ProjectEnvironmentApiPath = "/projects/:id/environments/:environment_id" )
const ( GroupsApiPath = "/groups" GroupApiPath = "/groups/:id" GroupProjectsApiPath = "/groups/:id/projects" )
const ( ProjectHooksApiPath = "/projects/:id/hooks" ProjectHookApiPath = "/projects/:id/hooks/:hook_id" )
const ( ProjectJobsApiPath = "/projects/:id/jobs" ProjectPipelineJobsApiPath = "/projects/:id/pipelines/:pipeline_id/jobs" ProjectJobApiPath = "/projects/:id/jobs/:job_id" ProjectJobTraceApiPath = "/projects/:id/jobs/:job_id/trace" CancelProjectJobApiPath = "/projects/:id/jobs/:job_id/cancel" RetryProjectJobApiPath = "/projects/:id/jobs/:job_id/retry" EraseProjectJobApiPath = "/projects/:id/jobs/:job_id/erase" )
const ( MambersApiPath = "/:type/:id/members" // List group or project team members MamberApiPath = "/:type/:id/members/:user_id" // Get group or project team member AddProjectMember = "/projects/:id/members" // add project member AddGroupMember = "/groups/:id/members" // add group member UpdateProjectMember = "/projects/:id/members/:user_id" // update project member UpdateGroupMember = "/groups/:id/members/:user_id" // update group member MemberActiveState = "active" MemberBlockState = "blocked" )
const ( MergeRequestsApiPath = "/merge_requests" ProjectMergeRequestsApiPath = "/projects/:id/merge_requests" GroupMergeRequestsApiPath = "/groups/:id/merge_requests" ProjectMergeRequestApiPath = "/projects/:id/merge_requests/:merge_request_id" // Get information about a single merge request ProjectMergeRequestCommitsApiPath = "/projects/:id/merge_requests/:merge_request_id/commits" // Get a list of merge request commits ProjectMergeRequestChangesApiPath = "/projects/:id/merge_requests/:merge_request_id/changes" // Shows information about the merge request including its files and changes ProjectMergeRequestMergeApiPath = "/projects/:id/merge_requests/:merge_request_id/merge" // Merge changes submitted with MR ProjectMergeRequestCancelMergeApiPath = "/projects/:id/merge_requests/:merge_request_id/cancel_merge_when_build_succeeds" // Cancel Merge When Build Succeeds ProjectMergeRequestCommentsApiPath = "/projects/:id/merge_requests/:merge_request_id/comments" // Lists all comments associated with a merge request )
const ( NamespacesApiPath = "/namespaces" NamespaceApiPath = "/namespaces/:id" )
const ( ProjectIssueNotesApiPath = "/projects/:id/issues/:issue_iid/notes" ProjectIssueNoteApiPath = "/projects/:id/issues/:issue_iid/notes/:note_id" ProjectSnippetNotesApiPath = "/projects/:id/snippets/:snippet_id/notes" ProjectSnippetNoteApiPath = "/projects/:id/snippets/:snippet_id/notes/:note_id" ProjectMergeRequestNotesApiPath = "/projects/:id/merge_requests/:merge_request_iid/notes" ProjectMergeRequestNoteApiPath = "/projects/:id/merge_requests/:merge_request_iid/notes/:note_id" GroupEpicNotesApiPath = "/groups/:id/epics/:epic_id/notes" GroupEpicNoteApiPath = "/groups/:id/epics/:epic_id/notes/:note_id" )
const ( ProjectPipelinesApiPath = "/projects/:id/pipelines" ProjectPipelineApiPath = "/projects/:id/pipelines/:pipeline_id" )
const ( ProjectsApiPath = "/projects" // Get a list of projects owned by the authenticated user ProjectApiPath = "/projects/:id" // Get a specific project, identified by project ID or NAME StarProjectApiPath = "/projects/:id/star" // Stars a given project. Returns status code 304 if the project is already starred UnstarProjectApiPath = "/projects/:id/unstar" // Unstars a given project. Returns status code 304 if the project is not starred ProjectEventsApiPath = "/projects/:id/events" // Get project events )
const ( ProtectedBranchesApiPath = "/projects/:id/protected_branches" // Gets a list of protected branches from a project. ProtectBranchApiPath = "/projects/:id/repository/branches/:branch/protect" // Protects a single project repository branch. UnprotectBranchApiPath = "/projects/:id/repository/branches/:branch/unprotect" // Unprotects a single project repository branch. )
const ( RepositoryTagsApiPath = "/projects/:id/repository/tags" // List project repository tags RepositoryCommitsApiPath = "/projects/:id/repository/commits" // List repository commits RepositoryTreeApiPath = "/projects/:id/repository/tree" // List repository tree RawRepositoryFileApiPath = "/projects/:id/repository/blobs/:sha" // Get raw file content for specific commit/branch )
const ( RunnersApiPath = "/runners" // Get current users runner list. AllRunnersApiPath = "/runners/all" // Get ALL runners list. RunnerApiPath = "/runners/:id" // Get a single runner. ProjectRunnersApiPath = "/projects/:project_id/runners" // Get ALL project runners. ProjectRunnerApiPath = "/projects/:project_id/runners/:id" // Get a single project runner. )
const ( CurrentUserSshKeysApiPath = "/user/keys" UserSshKeysApiPath = "/users/:id/keys" CurrentUserSshKeyApiPath = "/user/keys/:key_id" UserSshKeyApiPath = "/user/:id/keys/:key_id" )
const ( UsersApiPath = "/users" UserApiPath = "/users/:id" CurrentUserApiPath = "/user" )
const ( VariablesApiPath = "/:type/:id/variables" VariableApiPath = "/:type/:id/variables/:key" )
const (
DashboardFeedPath = "/dashboard.atom"
)
const (
ProjectIssuesApiPath = "/projects/:id/issues"
)
const (
ProjectTagApiPath = "/projects/:id/repository/tags/:tag"
)
Variables ¶
var CiEnvMapping map[string]*CiEnvKey
Functions ¶
func AggregateJobs ¶
Aggregate jobs by:
- pipeline
- stage
- job name
The resulting aggregation can be used to built something similar as the GitLab's UI used to display pipeline details.
func PopulateCiInfo ¶
func PopulateCiInfo(out interface{}) error
Types ¶
type AccessLevelInfo ¶
type ActivityFeed ¶
type AddMergeRequestRequest ¶
type AddMergeRequestRequest struct { SourceBranch string `json:"source_branch"` TargetBranch string `json:"target_branch"` AssigneeId int `json:"assignee_id,omitempty"` Title string `json:"title"` Description string `json:"description,omitempty"` TargetProjectId int `json:"target_project_id,omitempty"` Lables []string `json:"lables,omitempty"` }
type ArtifactsFile ¶
type Badge ¶
type Badge struct { Id int `json:"id" yaml:"id"` LinkUrl string `json:"link_url" yaml:"link_url"` ImageUrl string `json:"image_url" yaml:"image_url"` RenderedLinkUrl string `json:"rendered_link_url" yaml:"rendered_link_url"` RenderedImageUrl string `json:"rendered_image_url" yaml:"rendered_image_url"` Kind string `json:"kind" yaml:"kind"` }
type BadgeCollection ¶
type BadgeCollection struct {
Items []*Badge
}
func (*BadgeCollection) RenderJson ¶
func (c *BadgeCollection) RenderJson(w io.Writer) error
func (*BadgeCollection) RenderYaml ¶
func (c *BadgeCollection) RenderYaml(w io.Writer) error
type Branch ¶
type Branch struct { Name string `json:"name,omitempty" yaml:"name,omitempty"` Protected bool `json:"protected,omitempty" yaml:"protected,omitempty"` Merged bool `json:"merged,omitempty" yaml:"merged,omitempty"` DevelopersCanPush bool `json:"developers_can_push,omitempty" yaml:"developers_can_push,omitempty"` DevelopersCanMerge bool `json:"developers_can_merge,omitempty" yaml:"developers_can_merge,omitempty"` Commit *BranchCommit `json:"commit,omitempty" yaml:"commit,omitempty"` }
type BranchCollection ¶
type BranchCollection struct {
Items []*Branch
}
func (*BranchCollection) RenderJson ¶
func (c *BranchCollection) RenderJson(w io.Writer) error
func (*BranchCollection) RenderYaml ¶
func (c *BranchCollection) RenderYaml(w io.Writer) error
type BranchCommit ¶
type BranchCommit struct { Id string `json:"id,omitempty" yaml:"id,omitempty"` Tree string `json:"tree,omitempty" yaml:"tree,omitempty"` AuthoredDateRaw string `json:"authored_date,omitempty" yaml:"authored_date,omitempty"` CommittedDateRaw string `json:"committed_date,omitempty" yaml:"committed_date,omitempty"` Message string `json:"message,omitempty" yaml:"message,omitempty"` Author *Person `json:"author,omitempty" yaml:"author,omitempty"` Committer *Person `json:"committer,omitempty" yaml:"committer,omitempty"` }
type BranchesOptions ¶
type BranchesOptions struct { PaginationOptions SortOptions // Return list of branches matching the search criteria Search string `url:"search,omitempty"` }
type Build ¶
type Build struct { Id int `json:"id"` ArtifactsFile ArtifactsFile `json:"artifacts_file"` Commit Commit `json:"commit,omitempty"` CreatedAt string `json:"created_at"` DownloadURL string `json:"download_url"` FinishedAt string `json:"finished_at"` Name string `json:"name"` Ref string `json:"ref"` Stage string `json:"stage"` StartedAt string `json:"started_at"` Status string `json:"status"` Tag bool `json:"tag"` User User `json:"user"` When string `json:"when,omitempty"` Manual bool `json:"manual,omitempty"` }
type ChangeItem ¶
type ChangeItem struct { OldPath string `json:"old_path,omitempty"` NewPath string `json:"new_path,omitempty"` AMode string `json:"a_mode,omitempty"` BMode string `json:"b_mode,omitempty"` Diff string `json:"diff,omitempty"` NewFile bool `json:"new_file,omitempty"` RenamedFile bool `json:"renamed_file,omitempty"` DeletedFile bool `json:"deleted_file,omitempty"` }
type CiInfo ¶
type CiInfo struct { Chat struct { Input string `env:"CHAT_INPUT" json:"input" yaml:"input"` Channel string `env:"CHAT_CHANNEL" json:"channel" yaml:"channel"` } `json:"chat" yaml:"chat"` Deploy struct { User string `env:"CI_DEPLOY_USER" json:"user" yaml:"user"` } `json:"deploy" yaml:"deploy"` Project struct { Id string `env:"CI_PROJECT_ID" json:"id" yaml:"id"` Dir string `env:"CI_PROJECT_DIR" json:"dir" yaml:"dir"` Name string `env:"CI_PROJECT_NAME" json:"name" yaml:"name"` Namespace string `env:"CI_PROJECT_NAMESPACE" json:"namespace" yaml:"namespace"` Path string `env:"CI_PROJECT_PATH" json:"path" yaml:"path"` PathSlug string `env:"CI_PROJECT_PATH_SLUG" json:"path_slug" yaml:"path_slug"` Url string `env:"CI_PROJECT_URL" json:"url" yaml:"url"` Visibility string `env:"CI_PROJECT_VISIBILITY" json:"visibility" yaml:"visibility"` } `json:"project" yaml:"project"` Commit struct { Sha string `env:"CI_COMMIT_SHA" json:"sha" yaml:"sha"` RefName string `env:"CI_COMMIT_REF_NAME" json:"ref_name" yaml:"ref_name"` RefSlug string `env:"CI_COMMIT_REF_SLUG" json:"ref_slug" yaml:"ref_slug"` Tag string `env:"CI_COMMIT_TAG" json:"tag" yaml:"tag"` Message string `env:"CI_COMMIT_MESSAGE" json:"message" yaml:"message"` Title string `env:"CI_COMMIT_TITLE" json:"title" yaml:"title"` Description string `env:"CI_COMMIT_DESCRIPTION" json:"description" yaml:"description"` } `json:"commit" yaml:"commit"` Job struct { Id string `env:"CI_JOB_ID" json:"id" yaml:"id"` Name string `env:"CI_JOB_NAME" json:"name" yaml:"name"` Stage string `env:"CI_JOB_STAGE" json:"stage" yaml:"stage"` Url string `env:"CI_JOB_URL" json:"url" yaml:"url"` } `json:"job" yaml:"job"` Pipeline struct { Id string `env:"CI_PIPELINE_ID" json:"id" yaml:"id"` Iid string `env:"CI_PIPELINE_IID" json:"iid" yaml:"iid"` Source string `env:"CI_PIPELINE_SOURCE" json:"source" yaml:"source"` Url string `env:"CI_PIPELINE_URL" json:"url" yaml:"url"` } `json:"pipeline" yaml:"pipeline"` Runner struct { Id string `env:"CI_RUNNER_ID" json:"id" yaml:"id"` Description string `env:"CI_RUNNER_DESCRIPTION" json:"description" yaml:"description"` Tags string `env:"CI_RUNNER_TAGS" json:"tags" yaml:"tags"` Version string `env:"CI_RUNNER_VERSION" json:"version" yaml:"version"` Revision string `env:"CI_RUNNER_REVISION" json:"revision" yaml:"revision"` ExecutableArch string `env:"CI_RUNNER_EXECUTABLE_ARCH" json:"executable_arch" yaml:"executable_arch"` } `json:"runner" yaml:"runner"` User struct { Id string `env:"GITLAB_USER_ID" json:"id" yaml:"id"` Email string `env:"GITLAB_USER_EMAIL" json:"email" yaml:"email"` Login string `env:"GITLAB_USER_LOGIN" json:"login" yaml:"login"` Name string `env:"GITLAB_USER_NAME" json:"name" yaml:"name"` } `json:"user" yaml:"user"` Server struct { Name string `env:"CI_SERVER_NAME" json:"name" yaml:"name"` Revision string `env:"CI_SERVER_REVISION" json:"revision" yaml:"revision"` Version string `env:"CI_SERVER_VERSION" json:"version" yaml:"version"` } `json:"server" yaml:"server"` Registry struct { Registry string `env:"CI_REGISTRY" json:"registry" yaml:"registry"` Image string `env:"CI_REGISTRY_IMAGE" json:"image" yaml:"image"` User string `env:"CI_REGISTRY_USER" json:"user" yaml:"user"` } `json:"registry" yaml:"registry"` Environment struct { Name string `env:"CI_ENVIRONMENT_NAME" json:"name" yaml:"name"` Slug string `env:"CI_ENVIRONMENT_SLUG" json:"slug" yaml:"slug"` Url string `env:"CI_ENVIRONMENT_URL" json:"url" yaml:"url"` } `json:"environment" yaml:"environment"` }
type CommitActionOptions ¶
type CommitActionOptions struct { Action *string `url:"action,omitempty" json:"action,omitempty"` // The action to perform: create, delete, move, update, chmod FilePath *string `url:"file_path,omitempty" json:"file_path,omitempty"` // Full path to the file. Ex. lib/class.rb PreviousPath *string `url:"previous_path,omitempty" json:"previous_path,omitempty"` // Original full path to the file being moved. Ex. lib/class1.rb. Only considered for move action. Content *string `url:"content,omitempty" json:"content,omitempty"` // File content, required for all except delete, chmod, and move. Move actions that do not specify content preserve the existing file content, and any other value of content overwrites the file content. Encoding *string `url:"encoding,omitempty" json:"encoding,omitempty"` LastCommitID *string `url:"last_commit_id,omitempty" json:"last_commit_id,omitempty"` ExecuteFilemode *bool `url:"execute_filemode,omitempty" json:"execute_filemode,omitempty"` // When true/false enables/disables the execute flag on the file. Only considered for chmod action. }
CommitActionOptions represents the available options for a new single file action.
GitLab API docs: https://docs.gitlab.com/ce/api/commits.html#create-a-commit-with-multiple-files-and-actions
type CommitStatus ¶
type CommitStatus struct { Status string `json:"status"` CreatedAt time.Time `json:"created_at"` StartedAt *time.Time `json:"started_at"` Name string `json:"name"` AllowFailure bool `json:"allow_failure"` Author User `json:"author"` Description *string `json:"description"` Sha string `json:"sha"` TargetURL string `json:"target_url"` FinishedAt *time.Time `json:"finished_at"` ID int `json:"id"` Ref string `json:"ref"` }
type CreateCommitOptions ¶
type CreateCommitOptions struct { Branch *string `url:"branch,omitempty" json:"branch,omitempty"` CommitMessage *string `url:"commit_message,omitempty" json:"commit_message,omitempty"` StartBranch *string `url:"start_branch,omitempty" json:"start_branch,omitempty"` StartSHA *string `url:"start_sha,omitempty" json:"start_sha,omitempty"` StartProject *string `url:"start_project,omitempty" json:"start_project,omitempty"` Actions []*CommitActionOptions `url:"actions" json:"actions"` AuthorEmail *string `url:"author_email,omitempty" json:"author_email,omitempty"` AuthorName *string `url:"author_name,omitempty" json:"author_name,omitempty"` Stats *bool `url:"stats,omitempty" json:"stats,omitempty"` Force *bool `url:"force,omitempty" json:"force,omitempty"` }
CreateCommitOptions represents the available options for a new commit.
GitLab API docs: https://docs.gitlab.com/ce/api/commits.html#create-a-commit-with-multiple-files-and-actions
type Environment ¶
type Environment struct { Id int `json:"id,omitempty" yaml:"id,omitempty"` EnvironmentAddPayload `yaml:",inline"` Slug string `json:"slug,omitempty" yaml:"slug,omitempty"` Project *EnvironmentProject `json:"project,omitempty" yaml:"project,omitempty"` }
func (*Environment) RenderJson ¶
func (e *Environment) RenderJson(w io.Writer) error
func (*Environment) RenderYaml ¶
func (e *Environment) RenderYaml(w io.Writer) error
type EnvironmentAddPayload ¶
type EnvironmentCollection ¶
type EnvironmentCollection struct {
Items []*Environment
}
func (*EnvironmentCollection) RenderJson ¶
func (c *EnvironmentCollection) RenderJson(w io.Writer) error
func (*EnvironmentCollection) RenderYaml ¶
func (c *EnvironmentCollection) RenderYaml(w io.Writer) error
type EnvironmentProject ¶
type EnvironmentProject struct { Id int `json:"id,omitempty" yaml:"id,omitempty"` Name string `json:"name,omitempty" yaml:"name,omitempty"` NameWithNamespace string `json:"name_with_namespace,omitempty" yaml:"name_with_namespace,omitempty"` Path string `json:"path,omitempty" yaml:"path,omitempty"` PathWithNamespace string `json:"path_with_namespace,omitempty" yaml:"path_with_namespace,omitempty"` Description string `json:"description" yaml:"description"` CreatedAtRaw string `json:"created_at,omitempty" yaml:"created_at,omitempty"` DefaultBranch string `json:"default_branch" yaml:"default_branch"` TagList []string `json:"tag_list" yaml:"tag_list"` SshUrlToRepo string `json:"ssh_url_to_repo" yaml:"ssh_url_to_repo"` HttpUrlToRepo string `json:"http_url_to_repo" yaml:"http_url_to_repo"` WebUrl string `json:"web_url" yaml:"web_url"` AvatarUrl string `json:"avatar_url" yaml:"avatar_url"` ForksCount int `json:"forks_count" yaml:"forks_count"` StarCount int `json:"star_count" yaml:"star_count"` LastActivityAtRaw string `json:"last_activity_at,omitempty" yaml:"last_activity_at,omitempty"` }
type FeedCommit ¶
type Gitlab ¶
type Gitlab struct { BaseUrl string ApiPath string RepoFeedPath string Token string Client *http.Client }
func (*Gitlab) Activity ¶
func (g *Gitlab) Activity() (ActivityFeed, error)
func (*Gitlab) AddCurrentUserSshKey ¶
func (g *Gitlab) AddCurrentUserSshKey(title, key string) (*ResponseMeta, error)
func (*Gitlab) AddGroup ¶
func (g *Gitlab) AddGroup(group *GroupAddPayload) (*GroupWithDetails, *ResponseMeta, error)
func (*Gitlab) AddGroupEpicNote ¶
func (g *Gitlab) AddGroupEpicNote(groupId string, epicId int, note *NoteAddPayload) (*Note, *ResponseMeta, error)
func (*Gitlab) AddGroupMember ¶
func (g *Gitlab) AddGroupMember(projectId string, opt *MemberOptions) (*Member, *ResponseMeta, error)
func (*Gitlab) AddGroupVariable ¶
func (*Gitlab) AddIssue ¶
func (g *Gitlab) AddIssue(projectId string, req *IssueRequest) (issue *Issue, meta *ResponseMeta, err error)
func (*Gitlab) AddMergeRequest ¶
func (g *Gitlab) AddMergeRequest(req *AddMergeRequestRequest) (*MergeRequest, error)
Creates a new merge request.
POST /projects/:id/merge_requests
Parameters:
id The ID of a project
func (*Gitlab) AddProject ¶
func (g *Gitlab) AddProject(project *ProjectAddPayload) (*Project, *ResponseMeta, error)
func (*Gitlab) AddProjectBadge ¶
func (*Gitlab) AddProjectBranch ¶
func (*Gitlab) AddProjectDeployKey ¶
func (g *Gitlab) AddProjectDeployKey(id, title, key string) (*ResponseMeta, error)
Add deploy key to project.
POST /projects/:id/keys
Parameters:
id The ID of a project title The key title key The key value
func (*Gitlab) AddProjectEnvironment ¶
func (g *Gitlab) AddProjectEnvironment(projectId string, environment *EnvironmentAddPayload) (*Environment, *ResponseMeta, error)
func (*Gitlab) AddProjectHook ¶
func (g *Gitlab) AddProjectHook(projectId string, hook *HookAddPayload) (*Hook, *ResponseMeta, error)
func (*Gitlab) AddProjectIssueNote ¶
func (g *Gitlab) AddProjectIssueNote(projectId string, issueIid int, note *NoteAddPayload) (*Note, *ResponseMeta, error)
func (*Gitlab) AddProjectMember ¶
func (g *Gitlab) AddProjectMember(projectId string, opt *MemberOptions) (*Member, *ResponseMeta, error)
func (*Gitlab) AddProjectMergeRequestNote ¶
func (g *Gitlab) AddProjectMergeRequestNote(projectId string, mergeRequestIid int, note *NoteAddPayload) (*Note, *ResponseMeta, error)
func (*Gitlab) AddProjectSnippetNote ¶
func (g *Gitlab) AddProjectSnippetNote(projectId string, snippetId int, note *NoteAddPayload) (*Note, *ResponseMeta, error)
func (*Gitlab) AddProjectVariable ¶
func (*Gitlab) AddUserSshKey ¶
func (g *Gitlab) AddUserSshKey(userId, title, key string) (*ResponseMeta, error)
func (*Gitlab) CancelProjectJob ¶
func (*Gitlab) CreateCommit ¶
func (g *Gitlab) CreateCommit(id string, commitOpts *CreateCommitOptions) (*Commit, *ResponseMeta, error)
Create a commit and push with multiple files and actions
func (*Gitlab) CurrentUser ¶
func (g *Gitlab) CurrentUser() (*User, *ResponseMeta, error)
func (*Gitlab) CurrentUserSshKey ¶
func (g *Gitlab) CurrentUserSshKey(id string) (*SshKey, *ResponseMeta, error)
func (*Gitlab) CurrentUserSshKeys ¶
func (g *Gitlab) CurrentUserSshKeys(o *PaginationOptions) (*SshKeyCollection, *ResponseMeta, error)
func (*Gitlab) DeleteCurrentUserSshKey ¶
func (g *Gitlab) DeleteCurrentUserSshKey(keyId int) (*ResponseMeta, error)
func (*Gitlab) DeleteRunner ¶
func (g *Gitlab) DeleteRunner(id int) (*Runner, *ResponseMeta, error)
func (*Gitlab) DeleteUserSshKey ¶
func (g *Gitlab) DeleteUserSshKey(userId, keyId int) (*ResponseMeta, error)
func (*Gitlab) DisableProjectRunner ¶
func (*Gitlab) EditMergeRequest ¶
func (g *Gitlab) EditMergeRequest(mr *MergeRequest) error
Updates an existing merge request.
PUT /projects/:id/merge_request/:merge_request_id
Parameters:
id The ID of a project
func (*Gitlab) EnableProjectRunner ¶
func (*Gitlab) EraseProjectJob ¶
func (*Gitlab) Group ¶
func (g *Gitlab) Group(id string, withCustomAttributes bool) (*GroupWithDetails, *ResponseMeta, error)
func (*Gitlab) GroupEpicNote ¶
func (*Gitlab) GroupEpicNotes ¶
func (g *Gitlab) GroupEpicNotes(groupId string, epicId int, o *NotesOptions) (*NoteCollection, *ResponseMeta, error)
func (*Gitlab) GroupMembers ¶
func (g *Gitlab) GroupMembers(groupId string, o *MembersOptions) (*MemberCollection, *ResponseMeta, error)
func (*Gitlab) GroupMergeRequests ¶
func (g *Gitlab) GroupMergeRequests(groupId int, o *MergeRequestsOptions) (*MergeRequestCollection, *ResponseMeta, error)
func (*Gitlab) GroupProjects ¶
func (g *Gitlab) GroupProjects(id string) ([]*Project, *ResponseMeta, error)
func (*Gitlab) GroupVariable ¶
func (g *Gitlab) GroupVariable(groupId, varKey string) (*Variable, *ResponseMeta, error)
func (*Gitlab) GroupVariables ¶
func (g *Gitlab) GroupVariables(groupId string, o *PaginationOptions) (*VariableCollection, *ResponseMeta, error)
func (*Gitlab) Groups ¶
func (g *Gitlab) Groups(o *GroupsOptions) (*GroupCollection, *ResponseMeta, error)
func (*Gitlab) MergeRequests ¶
func (g *Gitlab) MergeRequests(o *MergeRequestsOptions) (*MergeRequestCollection, *ResponseMeta, error)
func (*Gitlab) Namespaces ¶
func (g *Gitlab) Namespaces(o *NamespacesOptions) (*NamespaceCollection, *ResponseMeta, error)
func (*Gitlab) ProjectBadge ¶
func (*Gitlab) ProjectBadges ¶
func (g *Gitlab) ProjectBadges(projectId string, o *PaginationOptions) (*BadgeCollection, *ResponseMeta, error)
func (*Gitlab) ProjectBranch ¶
func (g *Gitlab) ProjectBranch(projectId, branchName string) (*Branch, *ResponseMeta, error)
func (*Gitlab) ProjectBranches ¶
func (g *Gitlab) ProjectBranches(projectId string, o *BranchesOptions) (*BranchCollection, *ResponseMeta, error)
func (*Gitlab) ProjectBuildArtifacts ¶
func (g *Gitlab) ProjectBuildArtifacts(id, buildId string) (io.ReadCloser, error)
func (*Gitlab) ProjectCommitBuilds ¶
func (g *Gitlab) ProjectCommitBuilds(id, sha1 string) ([]*Build, *ResponseMeta, error)
func (*Gitlab) ProjectCommitStatuses ¶
func (g *Gitlab) ProjectCommitStatuses(id, sha1 string) ([]*CommitStatus, *ResponseMeta, error)
func (*Gitlab) ProjectDeployKey ¶
func (g *Gitlab) ProjectDeployKey(id, keyId string) (*SshKey, *ResponseMeta, error)
Get single project deploy key.
GET /projects/:id/keys/:key_id
Parameters:
id The ID of a project keyId The ID of a key
func (*Gitlab) ProjectDeployKeys ¶
func (g *Gitlab) ProjectDeployKeys(id string) ([]*SshKey, *ResponseMeta, error)
Get list of project deploy keys.
GET /projects/:id/keys
Parameters:
id The ID of a project
func (*Gitlab) ProjectEnvironments ¶
func (g *Gitlab) ProjectEnvironments(projectId string, o *PaginationOptions) (*EnvironmentCollection, *ResponseMeta, error)
func (*Gitlab) ProjectHook ¶
func (g *Gitlab) ProjectHook(projectId, hookId string) (*Hook, *ResponseMeta, error)
func (*Gitlab) ProjectHooks ¶
func (g *Gitlab) ProjectHooks(projectId string) (*HookCollection, *ResponseMeta, error)
func (*Gitlab) ProjectIssueNote ¶
func (*Gitlab) ProjectIssueNotes ¶
func (g *Gitlab) ProjectIssueNotes(projectId string, issueIid int, o *NotesOptions) (*NoteCollection, *ResponseMeta, error)
func (*Gitlab) ProjectJob ¶
func (*Gitlab) ProjectJobTrace ¶
func (*Gitlab) ProjectJobs ¶
func (g *Gitlab) ProjectJobs(projectId string, o *JobsOptions) (*JobCollection, *ResponseMeta, error)
func (*Gitlab) ProjectMembers ¶
func (g *Gitlab) ProjectMembers(projectId string, o *MembersOptions) (*MemberCollection, *ResponseMeta, error)
func (*Gitlab) ProjectMergeRequest ¶
func (g *Gitlab) ProjectMergeRequest(projectId string, mergeRequestId int) (*MergeRequest, *ResponseMeta, error)
func (*Gitlab) ProjectMergeRequestAccept ¶
func (g *Gitlab) ProjectMergeRequestAccept(id, merge_request_id string, req *AcceptMergeRequestRequest) (*MergeRequest, error)
Merge changes submitted with MR.
PUT /projects/:id/merge_request/:merge_request_id/merge
Parameters:
id The ID of a project merge_request_id The ID of a merge request
func (*Gitlab) ProjectMergeRequestCancelMerge ¶
func (g *Gitlab) ProjectMergeRequestCancelMerge(id, merge_request_id string) (*MergeRequest, *ResponseMeta, error)
Cancel Merge When Build Succeeds.
PUT /projects/:id/merge_request/:merge_request_id/cancel_merge_when_build_succeeds
Parameters:
id The ID of a project merge_request_id The ID of a merge request
func (*Gitlab) ProjectMergeRequestChanges ¶
func (g *Gitlab) ProjectMergeRequestChanges(id, merge_request_id string) (*MergeRequestChanges, *ResponseMeta, error)
Get information about the merge request including its files and changes.
GET /projects/:id/merge_request/:merge_request_id/changes
Parameters:
id The ID of a project merge_request_id The ID of a merge request
func (*Gitlab) ProjectMergeRequestCommits ¶
func (g *Gitlab) ProjectMergeRequestCommits(id, merge_request_id string) ([]*Commit, *ResponseMeta, error)
Get a list of merge request commits.
GET /projects/:id/merge_request/:merge_request_id/commits
Parameters:
id The ID of a project merge_request_id The ID of a merge request
func (*Gitlab) ProjectMergeRequestNote ¶
func (*Gitlab) ProjectMergeRequestNotes ¶
func (g *Gitlab) ProjectMergeRequestNotes(projectId string, mergeRequestIid int, o *NotesOptions) (*NoteCollection, *ResponseMeta, error)
func (*Gitlab) ProjectMergeRequests ¶
func (g *Gitlab) ProjectMergeRequests(projectId string, o *MergeRequestsOptions) (*MergeRequestCollection, *ResponseMeta, error)
func (*Gitlab) ProjectPipeline ¶
func (g *Gitlab) ProjectPipeline(projectId, pipelineId string) (*PipelineWithDetails, *ResponseMeta, error)
func (*Gitlab) ProjectPipelineJobs ¶
func (g *Gitlab) ProjectPipelineJobs(projectId string, pipelineId int, o *JobsOptions) (*JobCollection, *ResponseMeta, error)
func (*Gitlab) ProjectPipelines ¶
func (g *Gitlab) ProjectPipelines(projectId string, o *PipelinesOptions) (*PipelineCollection, *ResponseMeta, error)
func (*Gitlab) ProjectRunners ¶
func (*Gitlab) ProjectSnippetNote ¶
func (*Gitlab) ProjectSnippetNotes ¶
func (g *Gitlab) ProjectSnippetNotes(projectId string, snippetId int, o *NotesOptions) (*NoteCollection, *ResponseMeta, error)
func (*Gitlab) ProjectTag ¶
func (g *Gitlab) ProjectTag(projectId, tagName string) (*Tag, *ResponseMeta, error)
func (*Gitlab) ProjectVariable ¶
func (g *Gitlab) ProjectVariable(projectId, varKey string) (*Variable, *ResponseMeta, error)
func (*Gitlab) ProjectVariables ¶
func (g *Gitlab) ProjectVariables(projectId string, o *PaginationOptions) (*VariableCollection, *ResponseMeta, error)
func (*Gitlab) Projects ¶
func (g *Gitlab) Projects(o *ProjectsOptions) (*ProjectCollection, *ResponseMeta, error)
func (*Gitlab) ProtectBranch ¶
func (g *Gitlab) ProtectBranch(projectId, branchName string) (*ResponseMeta, error)
func (*Gitlab) ProtectedBranches ¶
func (g *Gitlab) ProtectedBranches(projectId string, o *PaginationOptions) ([]*ProtectedBranch, *ResponseMeta, error)
func (*Gitlab) RemoveGroup ¶
func (g *Gitlab) RemoveGroup(id string) (string, *ResponseMeta, error)
func (*Gitlab) RemoveGroupEpicNote ¶
func (g *Gitlab) RemoveGroupEpicNote(groupId string, epicId, noteId int) (*ResponseMeta, error)
func (*Gitlab) RemoveGroupVariable ¶
func (g *Gitlab) RemoveGroupVariable(groupId, varKey string) (*ResponseMeta, error)
func (*Gitlab) RemoveProject ¶
func (g *Gitlab) RemoveProject(id string) (string, *ResponseMeta, error)
func (*Gitlab) RemoveProjectBadge ¶
func (g *Gitlab) RemoveProjectBadge(projectId, badgeId string) (*ResponseMeta, error)
func (*Gitlab) RemoveProjectBranch ¶
func (g *Gitlab) RemoveProjectBranch(projectId, branchName string) (*ResponseMeta, error)
func (*Gitlab) RemoveProjectDeployKey ¶
func (g *Gitlab) RemoveProjectDeployKey(id, keyId string) (*ResponseMeta, error)
Remove deploy key from project
DELETE /projects/:id/keys/:key_id
Parameters:
id The ID of a project keyId The ID of a key
func (*Gitlab) RemoveProjectEnvironment ¶
func (g *Gitlab) RemoveProjectEnvironment(projectId string, id int) (*ResponseMeta, error)
func (*Gitlab) RemoveProjectHook ¶
func (g *Gitlab) RemoveProjectHook(projectId, hookId string) (*ResponseMeta, error)
func (*Gitlab) RemoveProjectIssueNote ¶
func (g *Gitlab) RemoveProjectIssueNote(projectId string, issueIid, noteId int) (*ResponseMeta, error)
func (*Gitlab) RemoveProjectMergeRequestNote ¶
func (g *Gitlab) RemoveProjectMergeRequestNote(projectId string, mergeRequestIid, noteId int) (*ResponseMeta, error)
func (*Gitlab) RemoveProjectMergedBranches ¶
func (g *Gitlab) RemoveProjectMergedBranches(projectId string) (string, *ResponseMeta, error)
func (*Gitlab) RemoveProjectSnippetNote ¶
func (g *Gitlab) RemoveProjectSnippetNote(projectId string, snippetId, noteId int) (*ResponseMeta, error)
func (*Gitlab) RemoveProjectVariable ¶
func (g *Gitlab) RemoveProjectVariable(projectId, varKey string) (*ResponseMeta, error)
func (*Gitlab) RemoveUser ¶
func (g *Gitlab) RemoveUser(id string) (*ResponseMeta, error)
func (*Gitlab) RepoActivityFeed ¶
func (g *Gitlab) RepoActivityFeed(feedPath string) ActivityFeed
func (*Gitlab) RepoCommits ¶
func (g *Gitlab) RepoCommits(id string) ([]*Commit, *ResponseMeta, error)
Get a list of repository commits in a project.
GET /projects/:id/repository/commits
Parameters:
id The ID of a project refName The name of a repository branch or tag or if not given the default branch
Usage:
commits, err := gitlab.RepoCommits("your_projet_id") if err != nil { fmt.Println(err.Error()) } for _, commit := range commits { fmt.Printf("%+v\n", commit) }
func (*Gitlab) RepoRawFile ¶
func (g *Gitlab) RepoRawFile(id, sha, filepath string) ([]byte, *ResponseMeta, error)
Get Raw file content
func (*Gitlab) RepoTags ¶
func (g *Gitlab) RepoTags(id string) ([]*Tag, *ResponseMeta, error)
Get a list of repository tags from a project, sorted by name in reverse alphabetical order.
GET /projects/:id/repository/tags
Parameters:
id The ID of a project
Usage:
tags, err := gitlab.RepoTags("your_projet_id") if err != nil { fmt.Println(err.Error()) } for _, tag := range tags { fmt.Printf("%+v\n", tag) }
func (*Gitlab) RepoTree ¶
func (g *Gitlab) RepoTree(id, path, refName string) ([]*TreeNode, *ResponseMeta, error)
Get a list of repository files and directories in a project.
GET /projects/:id/repository/tree
Parameters:
id (required) The ID of a project path (optional) The path inside repository. Used to get contend of subdirectories ref_name (optional) The name of a repository branch or tag or if not given the default branch
Usage:
pass nil when not using optional parameters
func (*Gitlab) ResourceUrl ¶
ResourceUrl builds an url for given resource path.
It replaces path placeholders with values from `params`:
/whatever/:id => /whatever/1
func (*Gitlab) ResourceUrlQ ¶
ResourceUrlQ generates an url and appends a query string to it if available
func (*Gitlab) RetryProjectJob ¶
func (*Gitlab) Runner ¶
func (g *Gitlab) Runner(id int) (*RunnerWithDetails, *ResponseMeta, error)
func (*Gitlab) Runners ¶
func (g *Gitlab) Runners(o *RunnersOptions) (*RunnerCollection, *ResponseMeta, error)
func (*Gitlab) StarProject ¶
func (g *Gitlab) StarProject(id string) (*Project, *ResponseMeta, error)
func (*Gitlab) UnprotectBranch ¶
func (g *Gitlab) UnprotectBranch(projectId, branchName string) (*ResponseMeta, error)
func (*Gitlab) UnstarProject ¶
func (g *Gitlab) UnstarProject(id string) (*Project, *ResponseMeta, error)
func (*Gitlab) UpdateGroup ¶
func (g *Gitlab) UpdateGroup(id string, group *GroupUpdatePayload) (*GroupWithDetails, error)
func (*Gitlab) UpdateGroupMember ¶
func (g *Gitlab) UpdateGroupMember(projectId, userId string, opt *MemberOptions) (*Member, *ResponseMeta, error)
func (*Gitlab) UpdateProject ¶
func (*Gitlab) UpdateProjectMember ¶
func (g *Gitlab) UpdateProjectMember(projectId, userId string, opt *MemberOptions) (*Member, *ResponseMeta, error)
func (*Gitlab) UpdateRunner ¶
func (*Gitlab) UserSshKeys ¶
func (g *Gitlab) UserSshKeys(userId int, o *PaginationOptions) (*SshKeyCollection, *ResponseMeta, error)
func (*Gitlab) Users ¶
func (g *Gitlab) Users(o *UsersOptions) (*UserCollection, *ResponseMeta, error)
type Group ¶
type Group struct { Id int `json:"id,omitempty" yaml:"id,omitempty"` Name string `json:"name" yaml:"name"` Path string `json:"path" yaml:"path"` Description string `json:"description" yaml:"description"` Visibility Visibility `json:"visibility" yaml:"visibility"` LfsEnabled bool `json:"lfs_enabled" yaml:"lfs_enabled"` RequestAccessEnabled bool `json:"request_access_enabled" yaml:"request_access_enabled"` ParentId int `json:"parent_id" yaml:"parent_id"` AvatarUrl string `json:"avatar_url" yaml:"avatar_url"` WebURL string `json:"web_url" yaml:"web_url"` FullName string `json:"full_name" yaml:"full_name"` FullPath string `json:"full_path" yaml:"full_path"` }
type GroupAddPayload ¶
type GroupAddPayload struct { Name string `json:"name"` Path string `json:"path"` Description string `json:"description,omitempty"` Visibility Visibility `json:"visibility,omitempty"` LfsEnabled bool `json:"lfs_enabled,omitempty"` RequestAccessEnabled bool `json:"request_access_enabled,omitempty"` ParentId int `json:"parent_id,omitempty"` }
type GroupCollection ¶
type GroupCollection struct {
Items []*Group
}
func (*GroupCollection) RenderJson ¶
func (c *GroupCollection) RenderJson(w io.Writer) error
func (*GroupCollection) RenderYaml ¶
func (c *GroupCollection) RenderYaml(w io.Writer) error
type GroupUpdatePayload ¶
type GroupUpdatePayload struct { Id int `json:"id,omitempty"` Name string `json:"name"` Path string `json:"path"` Description string `json:"description,omitempty"` MembershipLock bool `json:"membership_lock,omitempty"` Visibility Visibility `json:"visibility,omitempty"` LfsEnabled bool `json:"lfs_enabled,omitempty"` RequestAccessEnabled bool `json:"request_access_enabled,omitempty"` }
type GroupWithDetails ¶
type GroupsOptions ¶
type GroupsOptions struct { PaginationOptions SortOptions // Skip the group IDs passed SkipGroups []string `url:"skip_groups,omitempty,comma"` // Show all the groups you have access to // (defaults to false for authenticated users, true for admin) AllAvailable bool `url:"all_available,omitempty"` // Return the list of authorized groups matching the search criteria Search string `url:"search,omitempty"` // Include group statistics (admins only) Statistics bool `url:"statistics,omitempty"` // Include custom attributes in response (admins only) WithCustomAttributes bool `url:"with_custom_attributes,omitempty"` // Limit to groups owned by the current user Owned bool `url:"owned,omitempty"` }
type Hook ¶
type Hook struct { HookAddPayload Id int `json:"id,omitempty" yaml:"id,omitempty"` ProjectId int `json:"project_id,omitempty" yaml:"project_id,omitempty"` CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"` }
type HookAddPayload ¶
type HookAddPayload struct { Url string `json:"url" yaml:"url"` PushEvents bool `json:"push_events" yaml:"push_events"` IssuesEvents bool `json:"issues_events" yaml:"issues_events"` ConfidentialIssuesEvents bool `json:"confidential_issues_events" yaml:"confidential_issues_events"` MergeRequestsEvents bool `json:"merge_requests_events" yaml:"merge_requests_events"` TagPushEvents bool `json:"tag_push_events" yaml:"tag_push_events"` NoteEvents bool `json:"note_events" yaml:"note_events"` JobEvents bool `json:"job_events" yaml:"job_events"` PipelineEvents bool `json:"pipeline_events" yaml:"pipeline_events"` WikiPageEvents bool `json:"wiki_page_events" yaml:"wiki_page_events"` EnableSslVerification bool `json:"enable_ssl_verification" yaml:"enable_ssl_verification"` Token string `json:"token" yaml:"token"` }
type HookCollection ¶
type HookCollection struct {
Items []*Hook
}
func (*HookCollection) RenderJson ¶
func (c *HookCollection) RenderJson(w io.Writer) error
func (*HookCollection) RenderYaml ¶
func (c *HookCollection) RenderYaml(w io.Writer) error
type HookObjAttr ¶
type HookObjAttr struct { Id int `json:"id,omitempty"` Ref string `json:"ref,omitempty"` Tag bool `json:"tag,omitempty"` Sha string `json:"sha,omitempty"` BeforeSha string `json:"before_sha,omitempty"` Title string `json:"title,omitempty"` AssigneeId int `json:"assignee_id,omitempty"` AuthorId int `json:"author_id,omitempty"` ProjectId int `json:"project_id,omitempty"` Status string `json:"status,omitempty"` Stages []string `json:"stages,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` FinishedAt time.Time `json:"finished_at,omitempty"` Duration int `json:"duration,omitempty"` Position int `json:"position,omitempty"` BranchName string `json:"branch_name,omitempty"` Description string `json:"description,omitempty"` MilestoneId int `json:"milestone_id,omitempty"` State string `json:"state,omitempty"` IId int `json:"iid,omitempty"` TargetBranch string `json:"target_branch,omitempty"` SourceBranch string `json:"source_branch,omitempty"` SourceProjectId int `json:"source_project_id,omitempty"` StCommits string `json:"st_commits,omitempty"` StDiffs string `json:"st_diffs,omitempty"` MergeStatus string `json:"merge_status,omitempty"` TargetProjectId int `json:"target_project_id,omitempty"` }
type HookPayload ¶
type HookPayload struct { Before string `json:"before,omitempty"` After string `json:"after,omitempty"` Ref string `json:"ref,omitempty"` UserId int `json:"user_id,omitempty"` UserName string `json:"user_name,omitempty"` ProjectId int `json:"project_id,omitempty"` Project *hProject `json:"project,omitempty"` Repository *hRepository `json:"repository,omitempty"` Commits []hCommit `json:"commits,omitempty"` Commit *hCommit `json:"commit,omitempty"` TotalCommitsCount int `json:"total_commits_count,omitempty"` ObjectKind string `json:"object_kind,omitempty"` ObjectAttributes *HookObjAttr `json:"object_attributes,omitempty"` Builds []*Build `json:"builds,omitempty"` }
func ParseHook ¶
func ParseHook(payload []byte) (*HookPayload, error)
ParseHook parses hook payload from GitLab
func (*HookPayload) Branch ¶
func (h *HookPayload) Branch() string
Branch returns current branch for pipeline and push event hook payload This function returns empty string for any other events
func (*HookPayload) Head ¶
func (h *HookPayload) Head() hCommit
Head returns the latest changeset for push event hook payload
type Issue ¶
type Issue struct { Id int `json:"id"` IId int `json:"iid"` ProjectId int `json:"project_id,omitempty"` Title string `json:"title,omitempty"` Description string `json:"description,omitempty"` Labels []string `json:"labels,omitempty"` Milestone *Milestone `json:"milestone,omitempty"` Assignee *User `json:"assignee,omitempty"` Author *User `json:"author,omitempty"` State string `json:"state,omitempty"` CreatedAt string `json:"created_at,omitempty"` UpdatedAt string `json:"updated_at,omitempty"` }
type IssueRequest ¶
type Job ¶
type Job struct { Id int `json:"id,omitempty" yaml:"id,omitempty"` Name string `json:"name,omitempty" yaml:"name,omitempty"` Status string `json:"status,omitempty" yaml:"status,omitempty"` Stage string `json:"stage,omitempty" yaml:"stage,omitempty"` Ref string `json:"ref,omitempty" yaml:"ref,omitempty"` Tag bool `json:"tag,omitempty" yaml:"tag,omitempty"` Coverage float64 `json:"coverage,omitempty" yaml:"coverage,omitempty"` CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"` StartedAt string `json:"started_at,omitempty" yaml:"started_at,omitempty"` FinishedAt string `json:"finished_at,omitempty" yaml:"finished_at,omitempty"` Duration float64 `json:"duration,omitempty" yaml:"duration,omitempty"` ArtifactsExpireAt string `json:"artifacts_expire_at,omitempty" yaml:"artifacts_expire_at,omitempty"` Pipeline struct { Id int `json:"id,omitempty" yaml:"id,omitempty"` Status string `json:"status,omitempty" yaml:"status,omitempty"` Ref string `json:"ref,omitempty" yaml:"ref,omitempty"` Sha string `json:"sha,omitempty" yaml:"sha,omitempty"` } `json:"pipeline" yaml:"pipeline"` User struct { Id int `json:"id,omitempty" yaml:"id,omitempty"` Name string `json:"name,omitempty" yaml:"name,omitempty"` Username string `json:"username,omitempty" yaml:"username,omitempty"` State string `json:"state,omitempty" yaml:"state,omitempty"` AvatarUrl string `json:"avatar_url,omitempty" yaml:"avatar_url,omitempty"` WebUrl string `json:"web_url,omitempty" yaml:"web_url,omitempty"` CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"` Bio string `json:"bio,omitempty" yaml:"bio,omitempty"` Location string `json:"location,omitempty" yaml:"location,omitempty"` Skype string `json:"skype,omitempty" yaml:"skype,omitempty"` Linkedin string `json:"linkedin,omitempty" yaml:"linkedin,omitempty"` Twitter string `json:"twitter,omitempty" yaml:"twitter,omitempty"` WebsiteUrl string `json:"website_url,omitempty" yaml:"website_url,omitempty"` Organization string `json:"organization,omitempty" yaml:"organization,omitempty"` } `json:"user" yaml:"user"` Commit struct { Id string `json:"id,omitempty" yaml:"id,omitempty"` ShortId string `json:"short_id,omitempty" yaml:"short_id,omitempty"` Title string `json:"title,omitempty" yaml:"title,omitempty"` Message string `json:"message,omitempty" yaml:"message,omitempty"` AuthorName string `json:"author_name,omitempty" yaml:"author_name,omitempty"` AuthorEmail string `json:"author_email,omitempty" yaml:"author_email,omitempty"` CommitterName string `json:"committer_name,omitempty" yaml:"committer_name,omitempty"` CommitterEmail string `json:"committer_email,omitempty" yaml:"committer_email,omitempty"` CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"` AuthoredDate string `json:"authored_date,omitempty" yaml:"authored_date,omitempty"` CommittedDate string `json:"committed_date,omitempty" yaml:"committed_date,omitempty"` ParentIds []string `json:"parent_ids,omitempty" yaml:"parent_ids,omitempty"` } `json:"commit" yaml:"commit"` Runner struct { Id int `json:"id,omitempty" yaml:"id,omitempty"` Name string `json:"name,omitempty" yaml:"name,omitempty"` Description string `json:"description,omitempty" yaml:"description,omitempty"` IpAddress string `json:"ip_address,omitempty" yaml:"ip_address,omitempty"` Active bool `json:"active,omitempty" yaml:"active,omitempty"` IsShared bool `json:"is_shared,omitempty" yaml:"is_shared,omitempty"` Online bool `json:"online,omitempty" yaml:"online,omitempty"` Status string `json:"status,omitempty" yaml:"status,omitempty"` } `json:"runner" yaml:"runner"` }
type JobCollection ¶
type JobCollection struct {
Items []*Job
}
func (*JobCollection) RenderJson ¶
func (c *JobCollection) RenderJson(w io.Writer) error
func (*JobCollection) RenderYaml ¶
func (c *JobCollection) RenderYaml(w io.Writer) error
type JobsOptions ¶
type JobsOptions struct { PaginationOptions SortOptions // The scope of jobs to show, one or array of: // created, pending, running, failed, success, canceled, skipped, manual; // showing all jobs if none provided Scope []string `url:"scope,omitempty"` }
type Member ¶
type MemberCollection ¶
type MemberCollection struct {
Items []*Member
}
func (*MemberCollection) RenderJson ¶
func (c *MemberCollection) RenderJson(w io.Writer) error
func (*MemberCollection) RenderYaml ¶
func (c *MemberCollection) RenderYaml(w io.Writer) error
type MemberOptions ¶
type MemberOptions struct { UserID int `url:"user_id,omitempty" json:"user_id,omitempty"` AccessLevel int `url:"access_level,omitempty" json:"access_level,omitempty"` ExpiresAt string `url:"expires_at,omitempty" json:"expires_at"` // A date string in the format YEAR-MONTH-DAY, 2022-12-30 }
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 MembersOptions ¶
type MembersOptions struct { PaginationOptions Query string `url:"query,omitempty"` }
type MergeRequest ¶
type MergeRequest struct { Id int `json:"id,omitempty" yaml:"id,omitempty"` Iid int `json:"iid,omitempty" yaml:"iid,omitempty"` ProjectId int `json:"project_id,omitempty" yaml:"project_id,omitempty"` WebUrl string `json:"web_url,omitempty" yaml:"web_url,omitempty"` Title string `json:"title,omitempty" yaml:"title,omitempty"` Description string `json:"description,omitempty" yaml:"description,omitempty"` State string `json:"state,omitempty" yaml:"state,omitempty"` CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"` UpdatedAt string `json:"updated_at,omitempty" yaml:"updated_at,omitempty"` SourceBranch string `json:"source_branch,omitempty" yaml:"source_branch,omitempty"` TargetBranch string `json:"target_branch,omitempty" yaml:"target_branch,omitempty"` Upvotes int `json:"upvotes,omitempty" yaml:"upvotes,omitempty"` Downvotes int `json:"downvotes,omitempty" yaml:"downvotes,omitempty"` SourceProjectID int `json:"source_project_id,omitempty" yaml:"source_project_id,omitempty"` TargetProjectID int `json:"target_project_id,omitempty" yaml:"target_project_id,omitempty"` Sha string `json:"sha,omitempty" yaml:"sha,omitempty"` MergeCommitSha string `json:"merge_commit_sha,omitempty" yaml:"merge_commit_sha,omitempty"` WorkInProgress bool `json:"work_in_progress,omitempty" yaml:"work_in_progress,omitempty"` MergeStatus string `json:"merge_status,omitempty" yaml:"merge_status,omitempty"` Squash bool `json:"squash,omitempty" yaml:"squash,omitempty"` MergeWhenPipelineSucceeds bool `json:"merge_when_pipeline_succeeds,omitempty" yaml:"merge_when_pipeline_succeeds,omitempty"` ShouldRemoveSourceBranch bool `json:"should_remove_source_branch,omitempty" yaml:"should_remove_source_branch,omitempty"` ForceRemoveSourceBranch bool `json:"force_remove_source_branch,omitempty" yaml:"force_remove_source_branch,omitempty"` DiscussionLocked bool `json:"discussion_locked,omitempty" yaml:"discussion_locked,omitempty"` UserNotesCount int `json:"user_notes_count,omitempty" yaml:"user_notes_count,omitempty"` Pipeline *Pipeline `json:"pipeline,omitempty" yaml:"pipeline,omitempty"` Author *MergeRequestUser `json:"author,omitempty" yaml:"author,omitempty"` Assignee *MergeRequestUser `json:"assignee,omitempty" yaml:"assignee,omitempty"` Labels []string `json:"labels,omitempty" yaml:"labels,omitempty"` TimeStats *TimeStats `json:"time_stats,omitempty" yaml:"time_stats,omitempty"` Milestone *Milestone `json:"milestone,omitempty" yaml:"milestone,omitempty"` }
func (*MergeRequest) RenderJson ¶
func (mr *MergeRequest) RenderJson(w io.Writer) error
func (*MergeRequest) RenderYaml ¶
func (mr *MergeRequest) RenderYaml(w io.Writer) error
type MergeRequestChanges ¶
type MergeRequestChanges struct { *MergeRequest CreatedAt string `json:"created_at,omitempty"` UpdatedAt string `json:"updated_at,omitempty"` SourceProjectId int `json:"source_project_id,omitempty"` TargetProjectId int `json:"target_project_id,omitempty"` Labels []string `json:"labels,omitempty"` Milestone Milestone `json:"milestone,omitempty"` Changes []ChangeItem `json:"changes,omitempty"` }
type MergeRequestCollection ¶
type MergeRequestCollection struct {
Items []*MergeRequest
}
func (*MergeRequestCollection) RenderJson ¶
func (c *MergeRequestCollection) RenderJson(w io.Writer) error
func (*MergeRequestCollection) RenderYaml ¶
func (c *MergeRequestCollection) RenderYaml(w io.Writer) error
type MergeRequestScope ¶
type MergeRequestScope string
const ( MergeRequestScopeCreatedByMe MergeRequestScope = "created_by_me" LegacyMergeRequestScopeCreatedByMe MergeRequestScope = "created-by-me" MergeRequestScopeAssignedToMe MergeRequestScope = "assigned_to_me" LegacyMergeRequestScopeAssignedToMe MergeRequestScope = "assigned-to-me" MergeRequestScopeAll MergeRequestScope = "all" )
For versions before 11.0, use the now deprecated created-by-me or assigned-to-me scopes
type MergeRequestUser ¶
type MergeRequestUser struct { Id int `json:"id,omitempty" yaml:"id,omitempty"` Username string `json:"username,omitempty" yaml:"username,omitempty"` Name string `json:"name,omitempty" yaml:"name,omitempty"` State string `json:"state,omitempty" yaml:"state,omitempty"` AvatarUrl string `json:"avatar_url,omitempty" yaml:"avatar_url,omitempty"` WebUrl string `json:"web_url,omitempty" yaml:"web_url,omitempty"` }
type MergeRequestsOptions ¶
type MergeRequestsOptions struct { PaginationOptions SortOptions // Return the request having the given iid // only available for generic merge requests API endpoint Iids []int `url:"iids,omitempty,comma"` // Return all merge requests or just those that are // opened, closed, locked, or merged State string `url:"state,omitempty"` // Return merge requests for a specific milestone Milestone string `url:"milestone,omitempty"` // If simple, returns the iid, URL, title, description, // and basic state of merge request View string `url:"view,omitempty"` // Return merge requests matching a comma separated // list of labels Labels []string `url:"labels,omitempty,comma"` // Return merge requests created on or after the given time CreatedAfter *time.Time `url:"created_after,omitempty"` // Return merge requests created on or before the given time CreatedBefore *time.Time `url:"created_before,omitempty"` // Return merge requests updated on or after the given time UpdatedAfter *time.Time `url:"updated_after,omitempty"` // Return merge requests updated on or before the given time UpdatedBefore *time.Time `url:"updated_before,omitempty"` // Return merge requests with the given source branch SourceBranch string `url:"source_branch,omitempty"` // Return merge requests with the given target branch TargetBranch string `url:"target_branch,omitempty"` // Search merge requests against their title and description Search string `url:"search,omitempty"` // Returns merge requests created by the given user id AuthorId int `url:"author_id,omitempty"` // Returns merge requests assigned to the given user id AssigneeId int `url:"assignee_id,omitempty"` // Return merge requests reacted by the authenticated user by the given emoji MyReactionEmoji string `url:"my_reaction_emoji,omitempty"` // Return merge requests for the given scope: created_by_me, assigned_to_me or all, // For versions before 11.0, use the now deprecated created-by-me or assigned-to-me scopes instead. Scope MergeRequestScope `url:"scope,omitempty"` }
type Milestone ¶
type Milestone struct { Id int `json:"id,omitempty" yaml:"id,omitempty"` Iid int `json:"iid,omitempty" yaml:"iid,omitempty"` GroupId int `json:"group_id,omitempty" yaml:"group_id,omitempty"` ProjectId int `json:"project_id,omitempty" yaml:"project_id,omitempty"` Title string `json:"title,omitempty" yaml:"title,omitempty"` Description string `json:"description,omitempty" yaml:"description,omitempty"` State string `json:"state,omitempty" yaml:"state,omitempty"` UpdatedAt string `json:"updated_at,omitempty" yaml:"updated_at,omitempty"` CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"` DueDate string `json:"due_date,omitempty" yaml:"due_date,omitempty"` StartDate string `json:"start_date,omitempty" yaml:"start_date,omitempty"` WebUrl string `json:"web_url,omitempty" yaml:"web_url,omitempty"` }
type MinimalProject ¶
type Namespace ¶
type Namespace struct { Id int `json:"id,omitempty" yaml:"id,omitempty"` Name string `json:"name,omitempty,omitempty" yaml:"name,omitempty,omitempty"` Path string `json:"path,omitempty,omitempty" yaml:"path,omitempty,omitempty"` Kind string `json:"kind,omitempty,omitempty" yaml:"kind,omitempty,omitempty"` FullPath string `json:"full_path,omitempty,omitempty" yaml:"full_path,omitempty,omitempty"` ParentId int `json:"parent_id,omitempty" yaml:"parent_id,omitempty"` MembersCountWithDescendants int `json:"members_count_with_descendants,omitempty" yaml:"members_count_with_descendants,omitempty"` Plan string `json:"plan,omitempty" yaml:"plan,omitempty"` Description string `json:"description,omitempty" yaml:"description,omitempty"` OwnerId int `json:"owner_id,omitempty" yaml:"owner_id,omitempty"` CreatedAt string `json:"createdAt,omitempty" yaml:"createdAt,omitempty"` UpdatedAt string `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"` }
type NamespaceCollection ¶
type NamespaceCollection struct {
Items []*Namespace
}
func (*NamespaceCollection) RenderJson ¶
func (c *NamespaceCollection) RenderJson(w io.Writer) error
func (*NamespaceCollection) RenderYaml ¶
func (c *NamespaceCollection) RenderYaml(w io.Writer) error
type NamespacesOptions ¶
type NamespacesOptions struct { PaginationOptions SortOptions // Returns a list of namespaces the user is authorized to see // based on the search criteria Search string `url:"search,omitempty"` }
type Note ¶
type Note struct { Id int `json:"id" yaml:"id"` Body string `json:"body" yaml:"body"` Attachment string `json:"attachment" yaml:"attachment"` Title string `json:"title" yaml:"title"` FileName string `json:"file_name" yaml:"file_name"` CreatedAtRaw string `json:"created_at" yaml:"created_at"` UpdatedAtRaw string `json:"updated_at" yaml:"updated_at"` ExpiresAtRaw string `json:"expires_at" yaml:"expires_at"` System bool `json:"system" yaml:"system"` Resolvable bool `json:"resolvable" yaml:"resolvable"` NoteableId int `json:"noteable_id" yaml:"noteable_id"` NoteableIid int `json:"noteable_iid" yaml:"noteable_iid"` NoteableType string `json:"noteable_type" yaml:"noteable_type"` Author struct { Id int `json:"id" yaml:"id"` Username string `json:"username" yaml:"username"` Email string `json:"email" yaml:"email"` Name string `json:"name" yaml:"name"` State string `json:"state" yaml:"state"` CreatedAtRaw string `json:"created_at" yaml:"created_at"` AvatarUrm string `json:"avatar_url" yaml:"avatar_url"` WebUrl string `json:"web_url" yaml:"web_url"` } `json:"author" yaml:"author"` }
type NoteAddPayload ¶
type NoteAddPayload struct {
Body string `json:"body"`
}
type NoteCollection ¶
type NoteCollection struct {
Items []*Note
}
func (*NoteCollection) RenderJson ¶
func (c *NoteCollection) RenderJson(w io.Writer) error
func (*NoteCollection) RenderYaml ¶
func (c *NoteCollection) RenderYaml(w io.Writer) error
type NotesOptions ¶
type NotesOptions struct { PaginationOptions SortOptions }
type PaginationOptions ¶
type PipelineCollection ¶
type PipelineCollection struct {
Items []*Pipeline
}
func (*PipelineCollection) RenderJson ¶
func (c *PipelineCollection) RenderJson(w io.Writer) error
func (*PipelineCollection) RenderYaml ¶
func (c *PipelineCollection) RenderYaml(w io.Writer) error
type PipelineWithDetails ¶
type PipelineWithDetails struct { Pipeline BeforeSha string `json:"before_sha"` Tag bool `json:"tag"` CreatedAt string `json:"created_at"` UpdatedAt string `json:"updated_at"` StartedAt string `json:"started_at"` FinishedAt string `json:"finished_at"` CommittedAt string `json:"committed_at"` Duration int `json:"duration"` Coverage string `json:"coverage"` YamlErrors string `json:"yaml_errors"` User struct { Id int `json:"id"` Username string `json:"username"` Name string `json:"name"` State string `json:"state"` AvatarUrl string `json:"avatar_url"` WebUrl string `json:"web_url"` } }
func (*PipelineWithDetails) RenderJson ¶
func (p *PipelineWithDetails) RenderJson(w io.Writer) error
func (*PipelineWithDetails) RenderYaml ¶
func (p *PipelineWithDetails) RenderYaml(w io.Writer) error
type PipelinesOptions ¶
type PipelinesOptions struct { PaginationOptions SortOptions // The scope of pipelines, one of: // running, pending, finished, branches, tags Scope string `url:"scope,omitempty"` // The status of pipelines, one of: // running, pending, success, failed, canceled, skipped Status string `url:"status,omitempty"` // The ref of pipelines Ref string `url:"ref,omitempty"` // The sha or pipelines Sha string `url:"sha,omitempty"` // Returns pipelines with invalid configurations YamlErrors bool `url:"yaml_errors,omitempty"` // The name of the user who triggered pipelines Name string `url:"name,omitempty"` // The username of the user who triggered pipelines Username string `url:"username,omitempty"` }
type Project ¶
type Project struct { MinimalProject Description string `json:"description" yaml:"description"` DefaultBranch string `json:"default_branch" yaml:"default_branch"` Owner *Member `json:"owner" yaml:"owner"` Public bool `json:"public" yaml:"public"` Visibility Visibility `json:"visibility" yaml:"visibility"` IssuesEnabled bool `json:"issues_enabled" yaml:"issues_enabled"` OpenIssuesCount int `json:"open_issues_count" yaml:"open_issues_count"` MergeRequestsEnabled bool `json:"merge_requests_enabled" yaml:"merge_requests_enabled"` WallEnabled bool `json:"wall_enabled" yaml:"wall_enabled"` WikiEnabled bool `json:"wiki_enabled" yaml:"wiki_enabled"` CreatedAtRaw string `json:"created_at,omitempty" yaml:"created_at,omitempty"` Namespace *Namespace `json:"namespace,omitempty" yaml:"namespace,omitempty"` NamespaceId int `json:"namespace_id" yaml:"namespace_id"` SshRepoUrl string `json:"ssh_url_to_repo" yaml:"ssh_url_to_repo"` HttpRepoUrl string `json:"http_url_to_repo" yaml:"http_url_to_repo"` WebUrl string `json:"web_url" yaml:"web_url"` ReadmeUrl string `json:"readme_url" yaml:"readme_url"` Archived bool `json:"archived" yaml:"archived"` OnlyAllowMergeIfPipelineSucceeds bool `json:"only_allow_merge_if_pipeline_succeeds" yaml:"only_allow_merge_if_pipeline_succeeds"` OnlyAllowMergeIfAllDiscussionsAreResolved bool `json:"only_allow_merge_if_all_discussions_are_resolved" yaml:"only_allow_merge_if_all_discussions_are_resolved"` MergeMethod string `json:"merge_method" yaml:"merge_method"` TagList []string `json:"tag_list" yaml:"tag_list"` ForksCount int `json:"forks_count" yaml:"forks_count"` StarCount int `json:"star_count" yaml:"star_count"` Statistics *ProjectStatistics `json:"statistics" yaml:"statistics"` }
type ProjectAddPayload ¶
type ProjectAddPayload struct { Name string `json:"name"` // The name of the new project. Equals path if not provided Path string `json:"path"` // Repository name for new project. Generated based on name if not provided (generated lowercased with dashes) NamespaceId int `json:"namespace_id"` // Group project id, if not, create in user space InitializeWithReadme bool `json:"initialize_with_readme"` // Whether to create a Git repository with just a README.md file. Default is false. When this is true, you must not pass import_url or other attributes of this endpoint which specify alternative contents for the repository. Doing so might result in the following error: not a git repository. }
type ProjectCollection ¶
type ProjectCollection struct {
Items []*Project
}
func (*ProjectCollection) RenderJson ¶
func (c *ProjectCollection) RenderJson(w io.Writer) error
func (*ProjectCollection) RenderYaml ¶
func (c *ProjectCollection) RenderYaml(w io.Writer) error
type ProjectGroupSharing ¶
type ProjectStatistics ¶
type ProjectStatistics struct { CommitCount int `json:"commit_count" yaml:"commit_count"` StorageSize int `json:"storage_size" yaml:"storage_size"` RepositorySize int `json:"repository_size" yaml:"repository_size"` LfsObjectsSize int `json:"lfs_objects_size" yaml:"lfs_objects_size"` JobArtifactsSize int `json:"job_artifacts_size" yaml:"job_artifacts_size"` }
type ProjectsOptions ¶
type ProjectsOptions struct { PaginationOptions SortOptions // Limit by archived status Archived bool `url:"archived,omitempty"` // Limit by visibility public, internal, or private Visibility Visibility `url:"visibility,omitempty"` // Return projects ordered by id, name, path, created_at, updated_at, // or last_activity_at fields. Default is created_at OrderBy ProjectsOrder `url:"order_by,omitempty"` // Return list of projects matching the search criteria Search string `url:"search,omitempty"` // Return only the ID, URL, name, and path of each project Simple bool `url:"simple,omitempty"` // Limit by projects owned by the current user Owned bool `url:"owned,omitempty"` // Limit by projects that the current user is a member of Membership bool `url:"membership,omitempty"` // Limit by projects starred by the current user Starred bool `url:"starred,omitempty"` // Include project statistics Statistics bool `url:"statistics,omitempty"` // Include custom attributes in response (admins only) WithCustomAttributes bool `url:"with_custom_attributes,omitempty"` // Limit by enabled issues feature WithIssuesEnabled bool `url:"with_issues_enabled,omitempty"` // Limit by enabled merge requests feature WithMergeRequestsEnabled bool `url:"with_merge_requests_enabled,omitempty"` }
type ProjectsOrder ¶
type ProjectsOrder string
const ( ProjectsOrderId ProjectsOrder = "id" ProjectsOrderName ProjectsOrder = "name" ProjectsOrderPath ProjectsOrder = "path" )
type ProtectedBranch ¶
type ProtectedBranch struct { Name string `json:"name,omitempty"` PushAccessLevels []*AccessLevelInfo `json:"push_access_levels,omitempty"` MergeAccessLevels []*AccessLevelInfo `json:"merge_access_levels,omitempty"` }
type Renderable ¶
type ResponseMeta ¶
type ResponseWithMessage ¶
type ResponseWithMessage struct {
Message string `json:"message"`
}
type Runner ¶
type Runner struct { Id int `json:"id,omitempty" yaml:"id,omitempty"` Name string `json:"name,omitempty" yaml:"name,omitempty"` Active bool `json:"active,omitempty" yaml:"active,omitempty"` Description string `json:"description,omitempty" yaml:"description,omitempty"` IpAddress string `json:"ip_address,omitempty" yaml:"ip_address,omitempty"` Online bool `json:"online,omitempty" yaml:"online,omitempty"` Status string `json:"status,omitempty" yaml:"status,omitempty"` }
type RunnerCollection ¶
type RunnerCollection struct {
Items []*Runner
}
func (*RunnerCollection) RenderJson ¶
func (c *RunnerCollection) RenderJson(w io.Writer) error
func (*RunnerCollection) RenderYaml ¶
func (c *RunnerCollection) RenderYaml(w io.Writer) error
type RunnerScope ¶
type RunnerScope string
const ( RunnerScopeSpecific RunnerScope = "specific" RunnerScopeActive RunnerScope = "active" RunnerScopePaused RunnerScope = "paused" RunnerScopeOnline RunnerScope = "online" )
type RunnerWithDetails ¶
type RunnerWithDetails struct { Runner `yaml:",inline"` Architecture string `json:"architecture,omitempty" yaml:"architecture,omitempty"` Platform string `json:"platform,omitempty" yaml:"platform,omitempty"` Token string `json:"token,omitempty" yaml:"token,omitempty"` Revision string `json:"revision,omitempty" yaml:"revision,omitempty"` ContactedAt string `json:"contacted_at,omitempty" yaml:"contacted_at,omitempty"` Version string `json:"version,omitempty" yaml:"version,omitempty"` Projects []*Project `json:"projects,omitempty" yaml:"projects,omitempty"` TagList []string `json:"tag_list,omitempty" yaml:"tag_list,omitempty"` AccessLevel string `json:"access_level,omitempty" yaml:"access_level,omitempty"` MaximumTimeout int `json:"maximum_timeout,omitempty" yaml:"maximum_timeout,omitempty"` }
func (*RunnerWithDetails) RenderJson ¶
func (r *RunnerWithDetails) RenderJson(w io.Writer) error
func (*RunnerWithDetails) RenderYaml ¶
func (r *RunnerWithDetails) RenderYaml(w io.Writer) error
type RunnersOptions ¶
type RunnersOptions struct { PaginationOptions SortOptions // Get a list of all runners in the GitLab instance (specific and shared). // Access is restricted to users with admin privileges All bool `url:"-"` // The scope of runners to show, one of: specific, shared, active, paused, online; // showing all runners if none provided Scope RunnerScope `url:"scope,omitempty"` }
type SortDirection ¶
type SortDirection string
const ( SortDirectionAsc SortDirection = "asc" SortDirectionDesc SortDirection = "desc" )
type SortOptions ¶
type SortOptions struct { OrderBy string `url:"order_by,omitempty"` Sort SortDirection `url:"sort,omitempty"` }
type SshKey ¶
type SshKeyCollection ¶
type SshKeyCollection struct {
Items []*SshKey
}
func (*SshKeyCollection) RenderJson ¶
func (c *SshKeyCollection) RenderJson(w io.Writer) error
func (*SshKeyCollection) RenderYaml ¶
func (c *SshKeyCollection) RenderYaml(w io.Writer) error
type Tag ¶
type Tag struct { Name string `json:"name,omitempty"` Protected bool `json:"protected,omitempty"` Commit *BranchCommit `json:"commit,omitempty"` }
type TimeStats ¶
type TimeStats struct { TimeEstimate int `json:"time_estimate,omitempty" yaml:"time_estimate,omitempty"` TotalTimeSpent int `json:"total_time_spent,omitempty" yaml:"total_time_spent,omitempty"` HumanTimeEstimate string `json:"human_time_estimate,omitempty" yaml:"human_time_estimate,omitempty"` HumanTotalTimeSpent string `json:"human_total_time_spent,omitempty" yaml:"human_total_time_spent,omitempty"` }
type User ¶
type User struct { Id int `json:"id,omitempty" yaml:"id,omitempty"` Username string `json:"username,omitempty" yaml:"username,omitempty"` Email string `json:"email,omitempty" yaml:"email,omitempty"` Name string `json:"name,omitempty" yaml:"name,omitempty"` State string `json:"state,omitempty" yaml:"state,omitempty"` AvatarUrl string `json:"avatar_url,omitempty" yaml:"avatar_url,omitempty"` WebUrl string `json:"web_url" yaml:"web_url"` CreatedAt string `json:"created_at,omitempty" yaml:"created_at,omitempty"` IsAdmin bool `json:"is_admin,omitempty" yaml:"is_admin,omitempty"` Bio string `json:"bio,omitempty" yaml:"bio,omitempty"` Location string `json:"location,omitempty" yaml:"location,omitempty"` Skype string `json:"skype,omitempty" yaml:"skype,omitempty"` LinkedIn string `json:"linkedin,omitempty" yaml:"linkedin,omitempty"` Twitter string `json:"twitter,omitempty" yaml:"twitter,omitempty"` WebsiteUrl string `json:"website_url" yaml:"website_url"` Organization string `json:"organization" yaml:"organization"` LastSignInAt string `json:"last_sign_in_at,omitempty" yaml:"last_sign_in_at,omitempty"` ConfirmedAt string `json:"confirmed_at,omitempty" yaml:"confirmed_at,omitempty"` ThemeId int `json:"theme_id,omitempty" yaml:"theme_id,omitempty"` LastActivityOn string `json:"last_activity_on,omitempty" yaml:"last_activity_on,omitempty"` ColorSchemeId int `json:"color_scheme_id,omitempty" yaml:"color_scheme_id,omitempty"` ProjectsLimit int `json:"projects_limit,omitempty" yaml:"projects_limit,omitempty"` CurrentSignInAt string `json:"current_sign_in_at,omitempty" yaml:"current_sign_in_at,omitempty"` Identities []*UserIdentity `json:"identities,omitempty" yaml:"identities,omitempty"` CanCreateGroup bool `json:"can_create_group,omitempty" yaml:"can_create_group,omitempty"` CanCreateProject bool `json:"can_create_project,omitempty" yaml:"can_create_project,omitempty"` TwoFactorEnabled bool `json:"two_factor_enabled,omitempty" yaml:"two_factor_enabled,omitempty"` External bool `json:"external,omitempty" yaml:"external,omitempty"` }
type UserCollection ¶
type UserCollection struct {
Items []*User
}
func (*UserCollection) RenderJson ¶
func (c *UserCollection) RenderJson(w io.Writer) error
func (*UserCollection) RenderYaml ¶
func (c *UserCollection) RenderYaml(w io.Writer) error
type UserIdentity ¶
type UsersOptions ¶
type UsersOptions struct { PaginationOptions // Search users by email or username Search string `url:"search,omitempty"` // Search users by username Username string `url:"username,omitempty"` // Limit to active users Active bool `url:"active,omitempty"` // Limit to blocked users Blocked bool `url:"blocked,omitempty"` }
type Variable ¶
type VariableCollection ¶
type VariableCollection struct {
Items []*Variable
}
func (*VariableCollection) RenderJson ¶
func (c *VariableCollection) RenderJson(w io.Writer) error
func (*VariableCollection) RenderYaml ¶
func (c *VariableCollection) RenderYaml(w io.Writer) error
type Visibility ¶
type Visibility string
const ( // VisibilityPrivate indicates project access must be granted explicitly for each user. VisibilityPrivate Visibility = "private" // VisibilityInternal indicates the project can be cloned by any logged in user. VisibilityInternal Visibility = "internal" // VisibilityPublic indicates the project can be cloned without any authentication. VisibilityPublic Visibility = "public" )
Source Files ¶
- badges.go
- branches.go
- builds.go
- ci_info.go
- commits.go
- deploy_keys.go
- environments.go
- events.go
- gitlab.go
- groups.go
- hook_payload.go
- hooks.go
- issues.go
- jobs.go
- members.go
- merge_requests.go
- milestones.go
- namespaces.go
- notes.go
- pipelines.go
- projects.go
- protected_branches.go
- render.go
- repositories.go
- runners.go
- ssh_keys.go
- tag.go
- users.go
- variables.go