gitlab

package
v0.12.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 12, 2018 License: Unlicense Imports: 11 Imported by: 0

Documentation

Overview

Package gitlab 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

View Source
const (
	TmplMR    = "merge_request_templates/default.md"
	TmplIssue = "issue_templates/default.md"
)

Defines filepath for default GitLab templates

Variables

View Source
var (
	ErrProjectNotFound = errors.New("gitlab project not found")
)

Functions

func BranchPushed added in v0.5.2

func BranchPushed(pid interface{}, branch string) bool

BranchPushed checks if a branch exists on a GitLab project

func CICancel added in v0.12.0

func CICancel(pid interface{}, jobID int) (*gitlab.Job, error)

CICancel cancels a job for a given project by its ID.

func CIJobs added in v0.11.0

func CIJobs(pid interface{}, branch string) ([]*gitlab.Job, error)

CIJobs returns a list of jobs in a pipeline for a given sha. The jobs are returned sorted by their CreatedAt time

func CIPlayOrRetry added in v0.12.0

func CIPlayOrRetry(pid interface{}, jobID int, status string) (*gitlab.Job, error)

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 added in v0.11.0

func CITrace(pid interface{}, branch, name string) (io.Reader, *gitlab.Job, error)

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 FindProject

func FindProject(project string) (*gitlab.Project, error)

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 Fork

func Fork(project string) (string, error)

Fork creates a user fork of a GitLab project

func GetProject added in v0.10.0

func GetProject(projectID int) (*gitlab.Project, error)

GetProject looks up a Gitlab project by ID.

func Host added in v0.6.0

func Host() string

Host exposes the GitLab scheme://hostname used to interact with the API

func Init added in v0.6.0

func Init(_host, _user, _token string)

Init initializes a gitlab client for use throughout lab.

func IssueClose added in v0.8.0

func IssueClose(pid interface{}, id int) error

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 IssueGet added in v0.7.0

func IssueGet(project string, issueNum int) (*gitlab.Issue, error)

IssueGet retrieves the issue information from a GitLab project

func IssueList

func IssueList(project string, opts *gitlab.ListProjectIssuesOptions) ([]*gitlab.Issue, error)

IssueList gets a list of issues on a GitLab Project

func Lint added in v0.9.0

func Lint(content string) (bool, error)

Lint validates .gitlab-ci.yml contents

func LoadGitLabTmpl added in v0.5.1

func LoadGitLabTmpl(tmplName string) string

LoadGitLabTmpl loads gitlab templates for use in creating Issues and MRs

https://gitlab.com/help/user/project/description_templates.md#setting-a-default-template-for-issues-and-merge-requests

func MRClose added in v0.8.0

func MRClose(pid interface{}, id int) error

MRClose closes an mr on a GitLab project

func MRCreate added in v0.8.0

func MRCreate(project string, opts *gitlab.CreateMergeRequestOptions) (string, error)

MRCreate opens a merge request on GitLab

func MRGet added in v0.8.0

func MRGet(project string, mrNum int) (*gitlab.MergeRequest, error)

MRGet retrieves the merge request from GitLab project

func MRList added in v0.8.0

func MRList(project string, opts *gitlab.ListProjectMergeRequestsOptions) ([]*gitlab.MergeRequest, error)

MRList lists the MRs on a GitLab project

func MRMerge added in v0.8.0

func MRMerge(pid interface{}, id int) error

MRMerge merges an mr on a GitLab project

func ProjectCreate added in v0.10.0

func ProjectCreate(opts *gitlab.CreateProjectOptions) (*gitlab.Project, error)

ProjectCreate creates a new project on GitLab

func ProjectDelete added in v0.10.0

func ProjectDelete(pid interface{}) error

ProjectDelete creates a new project on GitLab

func ProjectList added in v0.12.0

func ProjectList(opts *gitlab.ListProjectsOptions) ([]*gitlab.Project, error)

ProjectList gets a list of projects on GitLab

func ProjectSnippetCreate added in v0.6.0

func ProjectSnippetCreate(pid interface{}, opts *gitlab.CreateProjectSnippetOptions) (*gitlab.Snippet, error)

ProjectSnippetCreate creates a snippet in a project

func ProjectSnippetDelete added in v0.6.0

func ProjectSnippetDelete(pid interface{}, id int) error

ProjectSnippetDelete deletes a project snippet

func ProjectSnippetList added in v0.6.0

func ProjectSnippetList(pid interface{}, opts *gitlab.ListProjectSnippetsOptions) ([]*gitlab.Snippet, error)

ProjectSnippetList lists snippets on a project

func SnippetCreate added in v0.6.0

func SnippetCreate(opts *gitlab.CreateSnippetOptions) (*gitlab.Snippet, error)

SnippetCreate creates a personal snippet

func SnippetDelete added in v0.6.0

func SnippetDelete(id int) error

SnippetDelete deletes a personal snippet

func SnippetList added in v0.6.0

func SnippetList(opts *gitlab.ListSnippetsOptions) ([]*gitlab.Snippet, error)

SnippetList lists snippets on a project

func User

func User() string

User exposes the configured GitLab user

func UserIDFromUsername added in v0.12.0

func UserIDFromUsername(username string) (int, error)

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL