Documentation ¶
Overview ¶
Package lab is an internal wrapper for the go-gitlab package
Most functions serve to expose debug logging if set and accept a project name string over an ID.
Index ¶
- Constants
- Variables
- func BranchPushed(pid interface{}, branch string) bool
- func BranchUnprotect(pid interface{}, branch string) error
- func CICancel(pid interface{}, jobID int) (*gitlab.Job, error)
- func CICreate(pid interface{}, opts *gitlab.CreatePipelineOptions) (*gitlab.Pipeline, error)
- func CIJobs(pid interface{}, branch string) ([]*gitlab.Job, error)
- func CIPlayOrRetry(pid interface{}, jobID int, status string) (*gitlab.Job, error)
- func CITrace(pid interface{}, branch, name string) (io.Reader, *gitlab.Job, error)
- func CITrigger(pid interface{}, opts gitlab.RunPipelineTriggerOptions) (*gitlab.Pipeline, error)
- func FindProject(project string) (*gitlab.Project, error)
- func Fork(project string) (string, error)
- func GetProject(projectID interface{}) (*gitlab.Project, error)
- func Host() string
- func Init(_host, _user, _token string, allowInsecure bool)
- func InitWithCustomCA(_host, _user, _token, caFile string) error
- func IssueClose(pid interface{}, id int) error
- func IssueCreate(project string, opts *gitlab.CreateIssueOptions) (string, error)
- func IssueCreateNote(project string, issueNum int, opts *gitlab.CreateIssueNoteOptions) (string, error)
- func IssueGet(project string, issueNum int) (*gitlab.Issue, error)
- func IssueList(project string, opts gitlab.ListProjectIssuesOptions, n int) ([]*gitlab.Issue, error)
- func IssueListDiscussions(project string, issueNum int) ([]*gitlab.Discussion, error)
- func IssueUpdate(project string, issueNum int, opts *gitlab.UpdateIssueOptions) (string, error)
- func LabelList(project string) ([]*gitlab.Label, error)
- func Labels(labels []string) *gitlab.Labels
- func Lint(content string) (bool, error)
- func LoadGitLabTmpl(tmplName string) string
- func MRApprove(pid interface{}, id int) error
- func MRClose(pid interface{}, id int) error
- func MRCreate(project string, opts *gitlab.CreateMergeRequestOptions) (string, error)
- func MRCreateNote(project string, mrNum int, opts *gitlab.CreateMergeRequestNoteOptions) (string, error)
- func MRGet(project string, mrNum int) (*gitlab.MergeRequest, error)
- func MRList(project string, opts gitlab.ListProjectMergeRequestsOptions, n int) ([]*gitlab.MergeRequest, error)
- func MRMerge(pid interface{}, id int) error
- func MRRebase(pid interface{}, id int) error
- func MRThumbDown(pid interface{}, id int) error
- func MRThumbUp(pid interface{}, id int) error
- func NamespaceSearch(query string) ([]*gitlab.Namespace, error)
- func ProjectCreate(opts *gitlab.CreateProjectOptions) (*gitlab.Project, error)
- func ProjectDelete(pid interface{}) error
- func ProjectEdit(pid interface{}, opts *gitlab.EditProjectOptions) (*gitlab.Project, error)
- func ProjectList(opts gitlab.ListProjectsOptions, n int) ([]*gitlab.Project, error)
- func ProjectSnippetCreate(pid interface{}, opts *gitlab.CreateProjectSnippetOptions) (*gitlab.Snippet, error)
- func ProjectSnippetDelete(pid interface{}, id int) error
- func ProjectSnippetList(pid interface{}, opts gitlab.ListProjectSnippetsOptions, n int) ([]*gitlab.Snippet, error)
- func SnippetCreate(opts *gitlab.CreateSnippetOptions) (*gitlab.Snippet, error)
- func SnippetDelete(id int) error
- func SnippetList(opts gitlab.ListSnippetsOptions, n int) ([]*gitlab.Snippet, error)
- func User() string
- func UserIDFromUsername(username string) (int, error)
Constants ¶
const ( TmplMR = "merge_request_templates/default.md" TmplIssue = "issue_templates/default.md" )
Defines filepath for default GitLab templates
Variables ¶
var ErrProjectNotFound = errors.New("gitlab project not found, verify you have access to the requested resource")
ErrProjectNotFound is returned when a GitLab project cannot be found.
Functions ¶
func BranchPushed ¶
BranchPushed checks if a branch exists on a GitLab project
func BranchUnprotect ¶
BraBranchUnprotect unprotects branch
func CICreate ¶
func CICreate(pid interface{}, opts *gitlab.CreatePipelineOptions) (*gitlab.Pipeline, error)
CICreate creates a pipeline for given ref
func CIJobs ¶
CIJobs returns a list of jobs in a pipeline for a given sha. The jobs are returned sorted by their CreatedAt time
func CIPlayOrRetry ¶
CIPlayOrRetry runs a job either by playing it for the first time or by retrying it based on the currently known job state
func CITrace ¶
CITrace searches by name for a job and returns its trace file. The trace is static so may only be a portion of the logs if the job is till running. If no name is provided job is picked using the first available: 1. Last Running Job 2. First Pending Job 3. Last Job in Pipeline
func CITrigger ¶
func CITrigger(pid interface{}, opts gitlab.RunPipelineTriggerOptions) (*gitlab.Pipeline, error)
CITrigger triggers a pipeline for given ref
func FindProject ¶
FindProject looks up the Gitlab project. If the namespace is not provided in the project string it will search for projects in the users namespace
func GetProject ¶
GetProject looks up a Gitlab project by ID.
func Host ¶
func Host() string
Host exposes the GitLab scheme://hostname used to interact with the API
func InitWithCustomCA ¶
func IssueClose ¶
IssueClose closes an issue on a GitLab project
func IssueCreate ¶
func IssueCreate(project string, opts *gitlab.CreateIssueOptions) (string, error)
IssueCreate opens a new issue on a GitLab project
func IssueCreateNote ¶
func IssueCreateNote(project string, issueNum int, opts *gitlab.CreateIssueNoteOptions) (string, error)
IssueCreateNote creates a new note on an issue and returns the note URL
func IssueList ¶
func IssueList(project string, opts gitlab.ListProjectIssuesOptions, n int) ([]*gitlab.Issue, error)
IssueList gets a list of issues on a GitLab Project
func IssueListDiscussions ¶
func IssueListDiscussions(project string, issueNum int) ([]*gitlab.Discussion, error)
IssueListDiscussions retrieves the discussions (aka notes & comments) for an issue
func IssueUpdate ¶
IssueUpdate edits an issue on a GitLab project
func LoadGitLabTmpl ¶
LoadGitLabTmpl loads gitlab templates for use in creating Issues and MRs
func MRCreate ¶
func MRCreate(project string, opts *gitlab.CreateMergeRequestOptions) (string, error)
MRCreate opens a merge request on GitLab
func MRCreateNote ¶
func MRCreateNote(project string, mrNum int, opts *gitlab.CreateMergeRequestNoteOptions) (string, error)
MRCreateNote adds a note to a merge request on GitLab
func MRGet ¶
func MRGet(project string, mrNum int) (*gitlab.MergeRequest, error)
MRGet retrieves the merge request from GitLab project
func MRList ¶
func MRList(project string, opts gitlab.ListProjectMergeRequestsOptions, n int) ([]*gitlab.MergeRequest, error)
MRList lists the MRs on a GitLab project
func MRThumbDown ¶
MRThumbDown places a thumb up/down on a merge request
func NamespaceSearch ¶
NamespaceSearch searches for a namespace on GitLab
func ProjectCreate ¶
func ProjectCreate(opts *gitlab.CreateProjectOptions) (*gitlab.Project, error)
ProjectCreate creates a new project on GitLab
func ProjectDelete ¶
func ProjectDelete(pid interface{}) error
ProjectDelete creates a new project on GitLab
func ProjectEdit ¶
func ProjectEdit(pid interface{}, opts *gitlab.EditProjectOptions) (*gitlab.Project, error)
ProjectDelete edits a project on GitLab
func ProjectList ¶
ProjectList gets a list of projects on GitLab
func ProjectSnippetCreate ¶
func ProjectSnippetCreate(pid interface{}, opts *gitlab.CreateProjectSnippetOptions) (*gitlab.Snippet, error)
ProjectSnippetCreate creates a snippet in a project
func ProjectSnippetDelete ¶
ProjectSnippetDelete deletes a project snippet
func ProjectSnippetList ¶
func ProjectSnippetList(pid interface{}, opts gitlab.ListProjectSnippetsOptions, n int) ([]*gitlab.Snippet, error)
ProjectSnippetList lists snippets on a project
func SnippetCreate ¶
func SnippetCreate(opts *gitlab.CreateSnippetOptions) (*gitlab.Snippet, error)
SnippetCreate creates a personal snippet
func SnippetList ¶
SnippetList lists snippets on a project
func UserIDFromUsername ¶
UserIDFromUsername returns the associated Users ID in GitLab. This is useful for API calls that allow you to reference a user, but only by ID.
Types ¶
This section is empty.