gits

package
v1.2.119 Latest Latest
Warning

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

Go to latest
Published: Jun 10, 2018 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

View Source
const (
	KindBitBucketCloud  = "bitbucketcloud"
	KindBitBucketServer = "bitbucketserver"
	KindGitea           = "gitea"
	KindGitlab          = "gitlab"
	KindGitHub          = "github"

	DateFormat = "January 2 2006"

	BitbucketCloudURL = "https://bitbucket.org"
)
View Source
const (
	GitHubHost = "github.com"
	GitHubURL  = "https://github.com"
)

Variables

View Source
var (

	// ConventionalCommitTitles textual descriptions for
	// Conventional Commit types: https://conventionalcommits.org/
	ConventionalCommitTitles = map[string]*CommitGroup{
		"feat":     createCommitGroup("New Features"),
		"fix":      createCommitGroup("Bug Fixes"),
		"perf":     createCommitGroup("Performance Improvements"),
		"refactor": createCommitGroup("Code Refactoring"),
		"docs":     createCommitGroup("Documentation"),
		"test":     createCommitGroup("Tests"),
		"revert":   createCommitGroup("Reverts"),
		"style":    createCommitGroup("Styles"),
		"chore":    createCommitGroup("Chores"),
		"":         createCommitGroup(""),
	}
)

Functions

func BitBucketCloudAccessTokenURL

func BitBucketCloudAccessTokenURL(url string, username string) string

func BitBucketServerAccessTokenURL

func BitBucketServerAccessTokenURL(url string) string

func ConvertToValidBranchName

func ConvertToValidBranchName(name string) string

ConvertToValidBranchName converts the given branch name into a valid git branch string replacing any dodgy characters

func DiscoverRemoteGitURL

func DiscoverRemoteGitURL(gitConf string) (string, error)

func DiscoverUpstreamGitURL

func DiscoverUpstreamGitURL(gitConf string) (string, error)

func FindGitConfigDir

func FindGitConfigDir(dir string) (string, string, error)

FindGitConfigDir tries to find the `.git` directory either in the current directory or in parent directories

func FormatDate

func FormatDate(t time.Time) string

func GenerateMarkdown

func GenerateMarkdown(releaseSpec *v1.ReleaseSpec, gitInfo *GitRepositoryInfo) (string, error)

GenerateMarkdown generates the markdown document for the commits

func GetAuthorEmailForCommit

func GetAuthorEmailForCommit(dir string, sha string) (string, error)

func GetCurrentGitTagSHA

func GetCurrentGitTagSHA(dir string) (string, error)

func GetGitServer

func GetGitServer(dir string) (string, error)

func GetHost

func GetHost(gitProvider GitProvider) (string, error)

GetHost returns the Git Provider hostname, e.g github.com

func GetPreviousGitTagSHA

func GetPreviousGitTagSHA(dir string) (string, error)

func GetRemoteUrl

func GetRemoteUrl(config *gitcfg.Config, name string) string

func GetRevisionBeforeDate

func GetRevisionBeforeDate(dir string, t time.Time) (string, error)

GetRevisionBeforeDate returns the revision before the given date

func GetRevisionBeforeDateText

func GetRevisionBeforeDateText(dir string, dateText string) (string, error)

GetRevisionBeforeDateText returns the revision before the given date in format "MonthName dayNumber year"

func GitAdd

func GitAdd(dir string, args ...string) error

func GitClone

func GitClone(url string, directory string) error

GitClone clones the given git URL into the given directory

func GitCloneOrPull

func GitCloneOrPull(url string, directory string) error

GitCloneOrPull will clone the given git URL or pull if it alreasy exists

func GitCmd

func GitCmd(dir string, args ...string) error

func GitCommitDir

func GitCommitDir(dir string, message string) error

func GitCommitIfChanges

func GitCommitIfChanges(dir string, message string) error

func GitCreatePushURL

func GitCreatePushURL(cloneURL string, userAuth *auth.UserAuth) (string, error)

GitCreatePushURL creates the git repository URL with the username and password encoded for HTTPS based URLs

func GitForcePushBranch

func GitForcePushBranch(dir string, localBranch string, remoteBranch string) error

func GitGetBranch

func GitGetBranch(dir string) (string, error)

func GitGetRemoteBranchNames

func GitGetRemoteBranchNames(dir string, prefix string) ([]string, error)

func GitHubAccessTokenURL

func GitHubAccessTokenURL(url string) string

func GitHubEnterpriseApiEndpointURL

func GitHubEnterpriseApiEndpointURL(u string) string

func GitInit

func GitInit(dir string) error

func GitIsFork

func GitIsFork(gitProvider GitProvider, gitInfo *GitRepositoryInfo, dir string) (bool, error)

func GitPush

func GitPush(dir string) error

func GitRemove

func GitRemove(dir, fileName string) error

func GitRepoName

func GitRepoName(org, repoName string) string

func GitStatus

func GitStatus(dir string) error

func GiteaAccessTokenURL

func GiteaAccessTokenURL(url string) string

func GitlabAccessTokenURL

func GitlabAccessTokenURL(url string) string

GitlabAccessTokenURL returns the URL to click on to generate a personal access token for the git provider

func HasChanges

func HasChanges(dir string) (bool, error)

func IsGitHubServerURL

func IsGitHubServerURL(u string) bool

func IsGitRepoStatusFailed

func IsGitRepoStatusFailed(statuses ...*GitRepoStatus) bool

IsGitRepoStatusFailed returns true if any of the statuses have failed

func IsGitRepoStatusSuccess

func IsGitRepoStatusSuccess(statuses ...*GitRepoStatus) bool

IsGitRepoStatusSuccess returns true if all the statuses are successful

func ParseDate

func ParseDate(dateText string) (time.Time, error)

func PickOrganisation

func PickOrganisation(orgLister OrganisationLister, userName string) (string, error)

PickOrganisation picks an organisations login if there is one available

func PrintCreateRepositoryGenerateAccessToken

func PrintCreateRepositoryGenerateAccessToken(server *auth.AuthServer, username string, o io.Writer)

func ProviderAccessTokenURL

func ProviderAccessTokenURL(kind string, url string, username string) string

func ReleaseDownloadCount

func ReleaseDownloadCount(releases []*GitRelease) int

ReleaseDownloadCount returns the total number of downloads for the given set of releases

func SaasGitKind

func SaasGitKind(gitServiceUrl string) string

SaasGitKind returns the kind for SaaS git providers or "" if the URL could not be deduced

func SetRemoteURL

func SetRemoteURL(dir string, name string, gitURL string) error

Types

type BitbucketCloudProvider

type BitbucketCloudProvider struct {
	Client   *bitbucket.APIClient
	Username string
	Context  context.Context

	Server auth.AuthServer
	User   auth.UserAuth
}

BitbucketCloudProvider implements GitProvider interface for bitbucket.org

func (*BitbucketCloudProvider) AddPRComment

func (b *BitbucketCloudProvider) AddPRComment(pr *GitPullRequest, comment string) error

func (*BitbucketCloudProvider) CreateIssue

func (b *BitbucketCloudProvider) CreateIssue(owner string, repo string, issue *GitIssue) (*GitIssue, error)

func (*BitbucketCloudProvider) CreateIssueComment

func (b *BitbucketCloudProvider) CreateIssueComment(owner string, repo string, number int, comment string) error

func (*BitbucketCloudProvider) CreatePullRequest

func (b *BitbucketCloudProvider) CreatePullRequest(
	data *GitPullRequestArguments,
) (*GitPullRequest, error)

func (*BitbucketCloudProvider) CreateRepository

func (b *BitbucketCloudProvider) CreateRepository(
	org string,
	name string,
	private bool,
) (*GitRepository, error)

func (*BitbucketCloudProvider) CreateWebHook

func (b *BitbucketCloudProvider) CreateWebHook(data *GitWebHookArguments) error

func (*BitbucketCloudProvider) CurrentUsername

func (p *BitbucketCloudProvider) CurrentUsername() string

func (*BitbucketCloudProvider) DeleteRepository

func (b *BitbucketCloudProvider) DeleteRepository(org string, name string) error

func (*BitbucketCloudProvider) ForkRepository

func (b *BitbucketCloudProvider) ForkRepository(
	originalOrg string,
	name string,
	destinationOrg string,
) (*GitRepository, error)

func (*BitbucketCloudProvider) GetIssue

func (b *BitbucketCloudProvider) GetIssue(org string, name string, number int) (*GitIssue, error)

func (*BitbucketCloudProvider) GetPullRequest

func (p *BitbucketCloudProvider) GetPullRequest(owner string, repoInfo *GitRepositoryInfo, number int) (*GitPullRequest, error)

func (*BitbucketCloudProvider) GetPullRequestCommits

func (b *BitbucketCloudProvider) GetPullRequestCommits(owner string, repository *GitRepositoryInfo, number int) ([]*GitCommit, error)

func (*BitbucketCloudProvider) GetRepository

func (b *BitbucketCloudProvider) GetRepository(
	org string,
	name string,
) (*GitRepository, error)

func (*BitbucketCloudProvider) GitIssueToBitbucketIssue

func (b *BitbucketCloudProvider) GitIssueToBitbucketIssue(gIssue GitIssue) bitbucket.Issue

func (*BitbucketCloudProvider) HasIssues

func (b *BitbucketCloudProvider) HasIssues() bool

func (*BitbucketCloudProvider) IsBitbucketCloud

func (b *BitbucketCloudProvider) IsBitbucketCloud() bool

func (*BitbucketCloudProvider) IsBitbucketServer

func (b *BitbucketCloudProvider) IsBitbucketServer() bool

func (*BitbucketCloudProvider) IsGitHub

func (b *BitbucketCloudProvider) IsGitHub() bool

func (*BitbucketCloudProvider) IsGitea

func (b *BitbucketCloudProvider) IsGitea() bool

func (*BitbucketCloudProvider) IssueURL

func (p *BitbucketCloudProvider) IssueURL(org string, name string, number int, isPull bool) string

func (*BitbucketCloudProvider) JenkinsWebHookPath

func (b *BitbucketCloudProvider) JenkinsWebHookPath(gitURL string, secret string) string

Exposed by Jenkins plugin; this one is for https://wiki.jenkins.io/display/JENKINS/BitBucket+Plugin

func (*BitbucketCloudProvider) Kind

func (b *BitbucketCloudProvider) Kind() string

func (*BitbucketCloudProvider) Label

func (b *BitbucketCloudProvider) Label() string

func (*BitbucketCloudProvider) ListCommitStatus

func (b *BitbucketCloudProvider) ListCommitStatus(org string, repo string, sha string) ([]*GitRepoStatus, error)

func (*BitbucketCloudProvider) ListOrganisations

func (b *BitbucketCloudProvider) ListOrganisations() ([]GitOrganisation, error)

func (*BitbucketCloudProvider) ListReleases

func (p *BitbucketCloudProvider) ListReleases(org string, name string) ([]*GitRelease, error)

func (*BitbucketCloudProvider) ListRepositories

func (b *BitbucketCloudProvider) ListRepositories(org string) ([]*GitRepository, error)

func (*BitbucketCloudProvider) MergePullRequest

func (b *BitbucketCloudProvider) MergePullRequest(pr *GitPullRequest, message string) error

func (*BitbucketCloudProvider) PullRequestLastCommitStatus

func (b *BitbucketCloudProvider) PullRequestLastCommitStatus(pr *GitPullRequest) (string, error)

func (*BitbucketCloudProvider) RenameRepository

func (b *BitbucketCloudProvider) RenameRepository(
	org string,
	name string,
	newName string,
) (*GitRepository, error)

func (*BitbucketCloudProvider) SearchIssues

func (b *BitbucketCloudProvider) SearchIssues(org string, name string, query string) ([]*GitIssue, error)

func (*BitbucketCloudProvider) SearchIssuesClosedSince

func (b *BitbucketCloudProvider) SearchIssuesClosedSince(org string, name string, t time.Time) ([]*GitIssue, error)

func (*BitbucketCloudProvider) ServerURL

func (b *BitbucketCloudProvider) ServerURL() string

func (*BitbucketCloudProvider) UpdatePullRequestStatus

func (b *BitbucketCloudProvider) UpdatePullRequestStatus(pr *GitPullRequest) error

func (*BitbucketCloudProvider) UpdateRelease

func (b *BitbucketCloudProvider) UpdateRelease(owner string, repo string, tag string, releaseInfo *GitRelease) error

func (*BitbucketCloudProvider) UserAuth

func (p *BitbucketCloudProvider) UserAuth() auth.UserAuth

func (*BitbucketCloudProvider) UserInfo

func (p *BitbucketCloudProvider) UserInfo(username string) *GitUser

func (*BitbucketCloudProvider) ValidateRepositoryName

func (b *BitbucketCloudProvider) ValidateRepositoryName(org string, name string) error

type BitbucketServerProvider

type BitbucketServerProvider struct {
	Client   *bitbucket.APIClient
	Username string
	Context  context.Context

	Server auth.AuthServer
	User   auth.UserAuth
}

BitbucketServerProvider implements GitProvider interface for a bitbucket server

func (*BitbucketServerProvider) AddPRComment

func (b *BitbucketServerProvider) AddPRComment(pr *GitPullRequest, comment string) error

func (*BitbucketServerProvider) CreateIssue

func (b *BitbucketServerProvider) CreateIssue(owner string, repo string, issue *GitIssue) (*GitIssue, error)

func (*BitbucketServerProvider) CreateIssueComment

func (b *BitbucketServerProvider) CreateIssueComment(owner string, repo string, number int, comment string) error

func (*BitbucketServerProvider) CreatePullRequest

func (b *BitbucketServerProvider) CreatePullRequest(data *GitPullRequestArguments) (*GitPullRequest, error)

func (*BitbucketServerProvider) CreateRepository

func (b *BitbucketServerProvider) CreateRepository(org, name string, private bool) (*GitRepository, error)

func (*BitbucketServerProvider) CreateWebHook

func (b *BitbucketServerProvider) CreateWebHook(data *GitWebHookArguments) error

func (*BitbucketServerProvider) CurrentUsername

func (b *BitbucketServerProvider) CurrentUsername() string

func (*BitbucketServerProvider) DeleteRepository

func (b *BitbucketServerProvider) DeleteRepository(org, name string) error

func (*BitbucketServerProvider) ForkRepository

func (b *BitbucketServerProvider) ForkRepository(originalOrg, name, destinationOrg string) (*GitRepository, error)

func (*BitbucketServerProvider) GetIssue

func (b *BitbucketServerProvider) GetIssue(org string, name string, number int) (*GitIssue, error)

func (*BitbucketServerProvider) GetPullRequest

func (b *BitbucketServerProvider) GetPullRequest(owner string, repo *GitRepositoryInfo, number int) (*GitPullRequest, error)

func (*BitbucketServerProvider) GetPullRequestCommits

func (b *BitbucketServerProvider) GetPullRequestCommits(owner string, repository *GitRepositoryInfo, number int) ([]*GitCommit, error)

func (*BitbucketServerProvider) GetRepository

func (b *BitbucketServerProvider) GetRepository(org string, name string) (*GitRepository, error)

func (*BitbucketServerProvider) HasIssues

func (b *BitbucketServerProvider) HasIssues() bool

func (*BitbucketServerProvider) IsBitbucketCloud

func (b *BitbucketServerProvider) IsBitbucketCloud() bool

func (*BitbucketServerProvider) IsBitbucketServer

func (b *BitbucketServerProvider) IsBitbucketServer() bool

func (*BitbucketServerProvider) IsGitHub

func (b *BitbucketServerProvider) IsGitHub() bool

func (*BitbucketServerProvider) IsGitea

func (b *BitbucketServerProvider) IsGitea() bool

func (*BitbucketServerProvider) IssueURL

func (b *BitbucketServerProvider) IssueURL(org string, name string, number int, isPull bool) string

func (*BitbucketServerProvider) JenkinsWebHookPath

func (b *BitbucketServerProvider) JenkinsWebHookPath(gitURL string, secret string) string

Exposed by Jenkins plugin; this one is for https://wiki.jenkins.io/display/JENKINS/BitBucket+Plugin

func (*BitbucketServerProvider) Kind

func (b *BitbucketServerProvider) Kind() string

func (*BitbucketServerProvider) Label

func (b *BitbucketServerProvider) Label() string

func (*BitbucketServerProvider) ListCommitStatus

func (b *BitbucketServerProvider) ListCommitStatus(org, repo, sha string) ([]*GitRepoStatus, error)

func (*BitbucketServerProvider) ListOrganisations

func (b *BitbucketServerProvider) ListOrganisations() ([]GitOrganisation, error)

func (*BitbucketServerProvider) ListReleases

func (p *BitbucketServerProvider) ListReleases(org string, name string) ([]*GitRelease, error)

func (*BitbucketServerProvider) ListRepositories

func (b *BitbucketServerProvider) ListRepositories(org string) ([]*GitRepository, error)

func (*BitbucketServerProvider) MergePullRequest

func (b *BitbucketServerProvider) MergePullRequest(pr *GitPullRequest, message string) error

func (*BitbucketServerProvider) PullRequestLastCommitStatus

func (b *BitbucketServerProvider) PullRequestLastCommitStatus(pr *GitPullRequest) (string, error)

func (*BitbucketServerProvider) RenameRepository

func (b *BitbucketServerProvider) RenameRepository(org, name, newName string) (*GitRepository, error)

func (*BitbucketServerProvider) SearchIssues

func (b *BitbucketServerProvider) SearchIssues(org string, name string, query string) ([]*GitIssue, error)

func (*BitbucketServerProvider) SearchIssuesClosedSince

func (b *BitbucketServerProvider) SearchIssuesClosedSince(org string, name string, t time.Time) ([]*GitIssue, error)

func (*BitbucketServerProvider) ServerURL

func (b *BitbucketServerProvider) ServerURL() string

func (*BitbucketServerProvider) UpdatePullRequestStatus

func (b *BitbucketServerProvider) UpdatePullRequestStatus(pr *GitPullRequest) error

func (*BitbucketServerProvider) UpdateRelease

func (b *BitbucketServerProvider) UpdateRelease(owner string, repo string, tag string, releaseInfo *GitRelease) error

func (*BitbucketServerProvider) UserAuth

func (b *BitbucketServerProvider) UserAuth() auth.UserAuth

func (*BitbucketServerProvider) UserInfo

func (b *BitbucketServerProvider) UserInfo(username string) *GitUser

func (*BitbucketServerProvider) ValidateRepositoryName

func (b *BitbucketServerProvider) ValidateRepositoryName(org, name string) error

type CommitGroup

type CommitGroup struct {
	Title string
	Order int
}

func ConventionalCommitTypeToTitle

func ConventionalCommitTypeToTitle(kind string) *CommitGroup

ConventionalCommitTypeToTitle returns the title of the conventional commit type see: https://conventionalcommits.org/

type CommitInfo

type CommitInfo struct {
	Kind    string
	Feature string
	Message string
	// contains filtered or unexported fields
}

func ParseCommit

func ParseCommit(message string) *CommitInfo

ParseCommit parses a conventional commit see: https://conventionalcommits.org/

func (*CommitInfo) Group

func (c *CommitInfo) Group() *CommitGroup

func (*CommitInfo) Order

func (c *CommitInfo) Order() int

func (*CommitInfo) Title

func (c *CommitInfo) Title() string

type CreateRepoData

type CreateRepoData struct {
	Organisation string
	RepoName     string
	FullName     string
	PrivateRepo  bool
	User         *auth.UserAuth
	GitProvider  GitProvider
}

func PickNewGitRepository

func PickNewGitRepository(out io.Writer, batchMode bool, authConfigSvc auth.AuthConfigService, defaultRepoName string, repoOptions *GitRepositoryOptions, server *auth.AuthServer, userAuth *auth.UserAuth) (*CreateRepoData, error)

func (*CreateRepoData) CreateRepository

func (d *CreateRepoData) CreateRepository() (*GitRepository, error)

CreateRepository creates the repository - failing if it already exists

func (*CreateRepoData) GetRepository

func (d *CreateRepoData) GetRepository() (*GitRepository, error)

GetRepository returns the repository if it already exists

type GitCommit

type GitCommit struct {
	SHA       string
	Message   string
	Author    *GitUser
	URL       string
	Branch    string
	Committer *GitUser
}

type GitHubProvider

type GitHubProvider struct {
	Username string
	Client   *github.Client
	Context  context.Context

	Server auth.AuthServer
	User   auth.UserAuth
}

func (*GitHubProvider) AddPRComment

func (p *GitHubProvider) AddPRComment(pr *GitPullRequest, comment string) error

func (*GitHubProvider) CreateIssue

func (p *GitHubProvider) CreateIssue(owner string, repo string, issue *GitIssue) (*GitIssue, error)

func (*GitHubProvider) CreateIssueComment

func (p *GitHubProvider) CreateIssueComment(owner string, repo string, number int, comment string) error

func (*GitHubProvider) CreatePullRequest

func (p *GitHubProvider) CreatePullRequest(data *GitPullRequestArguments) (*GitPullRequest, error)

func (*GitHubProvider) CreateRepository

func (p *GitHubProvider) CreateRepository(org string, name string, private bool) (*GitRepository, error)

func (*GitHubProvider) CreateWebHook

func (p *GitHubProvider) CreateWebHook(data *GitWebHookArguments) error

func (*GitHubProvider) CurrentUsername

func (p *GitHubProvider) CurrentUsername() string

func (*GitHubProvider) DeleteRepository

func (p *GitHubProvider) DeleteRepository(org string, name string) error

func (*GitHubProvider) ForkRepository

func (p *GitHubProvider) ForkRepository(originalOrg string, name string, destinationOrg string) (*GitRepository, error)

func (*GitHubProvider) GetEnterpriseApiURL

func (p *GitHubProvider) GetEnterpriseApiURL() string

GetEnterpriseApiURL returns the github enterprise API URL or blank if this provider is for the https://github.com service

func (*GitHubProvider) GetIssue

func (p *GitHubProvider) GetIssue(org string, name string, number int) (*GitIssue, error)

func (*GitHubProvider) GetPullRequest

func (p *GitHubProvider) GetPullRequest(owner string, repo *GitRepositoryInfo, number int) (*GitPullRequest, error)

func (*GitHubProvider) GetPullRequestCommits

func (p *GitHubProvider) GetPullRequestCommits(owner string, repository *GitRepositoryInfo, number int) ([]*GitCommit, error)

func (*GitHubProvider) GetRepository

func (p *GitHubProvider) GetRepository(org string, name string) (*GitRepository, error)

func (*GitHubProvider) HasIssues

func (p *GitHubProvider) HasIssues() bool

func (*GitHubProvider) IsBitbucketCloud

func (p *GitHubProvider) IsBitbucketCloud() bool

func (*GitHubProvider) IsBitbucketServer

func (p *GitHubProvider) IsBitbucketServer() bool

func (*GitHubProvider) IsGitHub

func (p *GitHubProvider) IsGitHub() bool

func (*GitHubProvider) IsGitea

func (p *GitHubProvider) IsGitea() bool

func (*GitHubProvider) IssueURL

func (p *GitHubProvider) IssueURL(org string, name string, number int, isPull bool) string

func (*GitHubProvider) JenkinsWebHookPath

func (p *GitHubProvider) JenkinsWebHookPath(gitURL string, secret string) string

func (*GitHubProvider) Kind

func (p *GitHubProvider) Kind() string

func (*GitHubProvider) Label

func (p *GitHubProvider) Label() string

func (*GitHubProvider) ListCommitStatus

func (p *GitHubProvider) ListCommitStatus(org string, repo string, sha string) ([]*GitRepoStatus, error)

func (*GitHubProvider) ListOrganisations

func (p *GitHubProvider) ListOrganisations() ([]GitOrganisation, error)

func (*GitHubProvider) ListReleases

func (p *GitHubProvider) ListReleases(org string, name string) ([]*GitRelease, error)

func (*GitHubProvider) ListRepositories

func (p *GitHubProvider) ListRepositories(org string) ([]*GitRepository, error)

func (*GitHubProvider) MergePullRequest

func (p *GitHubProvider) MergePullRequest(pr *GitPullRequest, message string) error

func (*GitHubProvider) PullRequestLastCommitStatus

func (p *GitHubProvider) PullRequestLastCommitStatus(pr *GitPullRequest) (string, error)

func (*GitHubProvider) RenameRepository

func (p *GitHubProvider) RenameRepository(org string, name string, newName string) (*GitRepository, error)

func (*GitHubProvider) SearchIssues

func (p *GitHubProvider) SearchIssues(org string, name string, filter string) ([]*GitIssue, error)

func (*GitHubProvider) SearchIssuesClosedSince

func (p *GitHubProvider) SearchIssuesClosedSince(org string, name string, t time.Time) ([]*GitIssue, error)

func (*GitHubProvider) ServerURL

func (p *GitHubProvider) ServerURL() string

func (*GitHubProvider) UpdatePullRequestStatus

func (p *GitHubProvider) UpdatePullRequestStatus(pr *GitPullRequest) error

func (*GitHubProvider) UpdateRelease

func (p *GitHubProvider) UpdateRelease(owner string, repo string, tag string, releaseInfo *GitRelease) error

func (*GitHubProvider) UserAuth

func (p *GitHubProvider) UserAuth() auth.UserAuth

func (*GitHubProvider) UserInfo

func (p *GitHubProvider) UserInfo(username string) *GitUser

func (*GitHubProvider) ValidateRepositoryName

func (p *GitHubProvider) ValidateRepositoryName(org string, name string) error

type GitIssue

type GitIssue struct {
	URL           string
	Owner         string
	Repo          string
	Number        *int
	Key           string
	Title         string
	Body          string
	State         *string
	Labels        []GitLabel
	StatusesURL   *string
	IssueURL      *string
	CreatedAt     *time.Time
	UpdatedAt     *time.Time
	ClosedAt      *time.Time
	IsPullRequest bool
	User          *GitUser
	ClosedBy      *GitUser
	Assignees     []GitUser
}

func BitbucketIssueToGitIssue

func BitbucketIssueToGitIssue(bIssue bitbucket.Issue) *GitIssue

func FilterIssuesClosedSince

func FilterIssuesClosedSince(issues []*GitIssue, t time.Time) []*GitIssue

FilterIssuesClosedSince returns a filtered slice of all the issues closed since the given date

func (*GitIssue) IsClosedSince

func (i *GitIssue) IsClosedSince(t time.Time) bool

IsClosedSince returns true if the issue has been closed since the given da

func (*GitIssue) Name

func (i *GitIssue) Name() string

Name returns the textual name of the issue

type GitLabel

type GitLabel struct {
	URL   string
	Name  string
	Color string
}

func ToGitLabels

func ToGitLabels(names []string) []GitLabel

ToGitLabels converts the list of label names into an array of GitLabels

type GitOrganisation

type GitOrganisation struct {
	Login string
}

type GitProvider

type GitProvider interface {
	OrganisationLister

	ListRepositories(org string) ([]*GitRepository, error)

	CreateRepository(org string, name string, private bool) (*GitRepository, error)

	GetRepository(org string, name string) (*GitRepository, error)

	DeleteRepository(org string, name string) error

	ForkRepository(originalOrg string, name string, destinationOrg string) (*GitRepository, error)

	RenameRepository(org string, name string, newName string) (*GitRepository, error)

	ValidateRepositoryName(org string, name string) error

	CreatePullRequest(data *GitPullRequestArguments) (*GitPullRequest, error)

	UpdatePullRequestStatus(pr *GitPullRequest) error

	GetPullRequest(owner string, repo *GitRepositoryInfo, number int) (*GitPullRequest, error)

	GetPullRequestCommits(owner string, repo *GitRepositoryInfo, number int) ([]*GitCommit, error)

	PullRequestLastCommitStatus(pr *GitPullRequest) (string, error)

	ListCommitStatus(org string, repo string, sha string) ([]*GitRepoStatus, error)

	MergePullRequest(pr *GitPullRequest, message string) error

	CreateWebHook(data *GitWebHookArguments) error

	IsGitHub() bool

	IsGitea() bool

	IsBitbucketCloud() bool

	IsBitbucketServer() bool

	Kind() string

	GetIssue(org string, name string, number int) (*GitIssue, error)

	IssueURL(org string, name string, number int, isPull bool) string

	SearchIssues(org string, name string, query string) ([]*GitIssue, error)

	SearchIssuesClosedSince(org string, name string, t time.Time) ([]*GitIssue, error)

	CreateIssue(owner string, repo string, issue *GitIssue) (*GitIssue, error)

	HasIssues() bool

	AddPRComment(pr *GitPullRequest, comment string) error

	CreateIssueComment(owner string, repo string, number int, comment string) error

	UpdateRelease(owner string, repo string, tag string, releaseInfo *GitRelease) error

	ListReleases(org string, name string) ([]*GitRelease, error)

	JenkinsWebHookPath(gitURL string, secret string) string

	// Label returns the git service label or name
	Label() string

	// ServerURL returns the git server URL
	ServerURL() string

	// Returns the current username
	CurrentUsername() string

	// Returns the current user auth
	UserAuth() auth.UserAuth

	// Returns user info, if possible
	UserInfo(username string) *GitUser
}

func CreateProvider

func CreateProvider(server *auth.AuthServer, user *auth.UserAuth) (GitProvider, error)

func CreateProviderForURL

func CreateProviderForURL(authConfigSvc auth.AuthConfigService, gitKind string, hostUrl string) (GitProvider, error)

CreateProviderForURL creates the git provider for the given git kind and host URL

func NewBitbucketCloudProvider

func NewBitbucketCloudProvider(server *auth.AuthServer, user *auth.UserAuth) (GitProvider, error)

func NewBitbucketServerProvider

func NewBitbucketServerProvider(server *auth.AuthServer, user *auth.UserAuth) (GitProvider, error)

func NewGitHubProvider

func NewGitHubProvider(server *auth.AuthServer, user *auth.UserAuth) (GitProvider, error)

func NewGiteaProvider

func NewGiteaProvider(server *auth.AuthServer, user *auth.UserAuth) (GitProvider, error)

func NewGitlabProvider

func NewGitlabProvider(server *auth.AuthServer, user *auth.UserAuth) (GitProvider, error)

type GitPullRequest

type GitPullRequest struct {
	URL            string
	Author         *GitUser
	Owner          string
	Repo           string
	Number         *int
	Mergeable      *bool
	Merged         *bool
	HeadRef        *string
	State          *string
	StatusesURL    *string
	IssueURL       *string
	DiffURL        *string
	MergeCommitSHA *string
	ClosedAt       *time.Time
	MergedAt       *time.Time
	LastCommitSha  string
	Title          string
	Body           string
}

func (*GitPullRequest) IsClosed

func (pr *GitPullRequest) IsClosed() bool

IsClosed returns true if the PullRequest has been closed

type GitPullRequestArguments

type GitPullRequestArguments struct {
	Title             string
	Body              string
	Head              string
	Base              string
	GitRepositoryInfo *GitRepositoryInfo
}

type GitRelease

type GitRelease struct {
	Name          string
	TagName       string
	Body          string
	URL           string
	HTMLURL       string
	DownloadCount int
}

type GitRepoStatus

type GitRepoStatus struct {
	ID      string
	Context string
	URL     string

	// State is the current state of the repository. Possible values are:
	// pending, success, error, or failure.
	State string `json:"state,omitempty"`

	// TargetURL is the URL of the page representing this status
	TargetURL string `json:"target_url,omitempty"`

	// Description is a short high level summary of the status.
	Description string
}

func (*GitRepoStatus) IsFailed

func (s *GitRepoStatus) IsFailed() bool

func (*GitRepoStatus) IsSuccess

func (s *GitRepoStatus) IsSuccess() bool

type GitRepository

type GitRepository struct {
	Name             string
	AllowMergeCommit bool
	HTMLURL          string
	CloneURL         string
	SSHURL           string
	Language         string
	Fork             bool
	Stars            int
}

func BitbucketRepositoryToGitRepository

func BitbucketRepositoryToGitRepository(bRepo bitbucket.Repository) *GitRepository

func BitbucketServerRepositoryToGitRepository

func BitbucketServerRepositoryToGitRepository(bRepo bitbucket.Repository) *GitRepository

func PickRepositories

func PickRepositories(provider GitProvider, owner string, message string, selectAll bool, filter string) ([]*GitRepository, error)

type GitRepositoryInfo

type GitRepositoryInfo struct {
	URL          string
	Scheme       string
	Host         string
	Organisation string
	Name         string
	Project      string
}

func GetGitInfo

func GetGitInfo(dir string) (*GitRepositoryInfo, error)

func ParseGitURL

func ParseGitURL(text string, hasSCM bool) (*GitRepositoryInfo, error)

ParseGitURL attempts to parse the given text as a URL or git URL-like string to determine the protocol, host, organisation and name

func (*GitRepositoryInfo) CreateProvider

func (i *GitRepositoryInfo) CreateProvider(authConfigSvc auth.AuthConfigService, gitKind string) (GitProvider, error)

func (*GitRepositoryInfo) CreateProviderForUser

func (i *GitRepositoryInfo) CreateProviderForUser(server *auth.AuthServer, user *auth.UserAuth, gitKind string) (GitProvider, error)

func (*GitRepositoryInfo) HostURL

func (i *GitRepositoryInfo) HostURL() string

HostURL returns the URL to the host

func (*GitRepositoryInfo) HostURLWithoutUser

func (i *GitRepositoryInfo) HostURLWithoutUser() string

func (*GitRepositoryInfo) HttpCloneURL

func (i *GitRepositoryInfo) HttpCloneURL() string

HttpCloneURL returns the HTTPS git URL this repository

func (*GitRepositoryInfo) HttpURL

func (i *GitRepositoryInfo) HttpURL() string

HttpURL returns the URL to browse this repository in a web browser

func (*GitRepositoryInfo) HttpsURL

func (i *GitRepositoryInfo) HttpsURL() string

HttpsURL returns the URL to browse this repository in a web browser

func (*GitRepositoryInfo) IsGitHub

func (i *GitRepositoryInfo) IsGitHub() bool

func (*GitRepositoryInfo) PickOrCreateProvider

func (i *GitRepositoryInfo) PickOrCreateProvider(authConfigSvc auth.AuthConfigService, message string, batchMode bool, gitKind string) (GitProvider, error)

func (*GitRepositoryInfo) PipelinePath

func (i *GitRepositoryInfo) PipelinePath() string

PipelinePath returns the pipeline path for the master branch which can be used to query pipeline logs in `jx get build logs myPipelinePath`

func (*GitRepositoryInfo) PullRequestURL

func (i *GitRepositoryInfo) PullRequestURL(prName string) string

PullRequestURL returns the URL of a pull request of the given name/number

type GitRepositoryOptions

type GitRepositoryOptions struct {
	ServerURL string
	Username  string
	ApiToken  string
	Owner     string
}

type GitUser

type GitUser struct {
	URL       string
	Login     string
	Name      string
	Email     string
	AvatarURL string
}

type GitWebHookArguments

type GitWebHookArguments struct {
	Owner  string
	Repo   *GitRepositoryInfo
	URL    string
	Secret string
}

type GiteaProvider

type GiteaProvider struct {
	Username string
	Client   *gitea.Client

	Server auth.AuthServer
	User   auth.UserAuth
}

func (*GiteaProvider) AddPRComment

func (p *GiteaProvider) AddPRComment(pr *GitPullRequest, comment string) error

func (*GiteaProvider) CreateIssue

func (p *GiteaProvider) CreateIssue(owner string, repo string, issue *GitIssue) (*GitIssue, error)

func (*GiteaProvider) CreateIssueComment

func (p *GiteaProvider) CreateIssueComment(owner string, repo string, number int, comment string) error

func (*GiteaProvider) CreatePullRequest

func (p *GiteaProvider) CreatePullRequest(data *GitPullRequestArguments) (*GitPullRequest, error)

func (*GiteaProvider) CreateRepository

func (p *GiteaProvider) CreateRepository(org string, name string, private bool) (*GitRepository, error)

func (*GiteaProvider) CreateWebHook

func (p *GiteaProvider) CreateWebHook(data *GitWebHookArguments) error

func (*GiteaProvider) CurrentUsername

func (p *GiteaProvider) CurrentUsername() string

func (*GiteaProvider) DeleteRepository

func (p *GiteaProvider) DeleteRepository(org string, name string) error

func (*GiteaProvider) ForkRepository

func (p *GiteaProvider) ForkRepository(originalOrg string, name string, destinationOrg string) (*GitRepository, error)

func (*GiteaProvider) GetIssue

func (p *GiteaProvider) GetIssue(org string, name string, number int) (*GitIssue, error)

func (*GiteaProvider) GetPullRequest

func (p *GiteaProvider) GetPullRequest(owner string, repo *GitRepositoryInfo, number int) (*GitPullRequest, error)

func (*GiteaProvider) GetPullRequestCommits

func (p *GiteaProvider) GetPullRequestCommits(owner string, repository *GitRepositoryInfo, number int) ([]*GitCommit, error)

func (*GiteaProvider) GetRepository

func (p *GiteaProvider) GetRepository(org string, name string) (*GitRepository, error)

func (*GiteaProvider) HasIssues

func (p *GiteaProvider) HasIssues() bool

func (*GiteaProvider) IsBitbucketCloud

func (p *GiteaProvider) IsBitbucketCloud() bool

func (*GiteaProvider) IsBitbucketServer

func (p *GiteaProvider) IsBitbucketServer() bool

func (*GiteaProvider) IsGitHub

func (p *GiteaProvider) IsGitHub() bool

func (*GiteaProvider) IsGitea

func (p *GiteaProvider) IsGitea() bool

func (*GiteaProvider) IssueURL

func (p *GiteaProvider) IssueURL(org string, name string, number int, isPull bool) string

func (*GiteaProvider) JenkinsWebHookPath

func (p *GiteaProvider) JenkinsWebHookPath(gitURL string, secret string) string

func (*GiteaProvider) Kind

func (p *GiteaProvider) Kind() string

func (*GiteaProvider) Label

func (p *GiteaProvider) Label() string

func (*GiteaProvider) ListCommitStatus

func (p *GiteaProvider) ListCommitStatus(org string, repo string, sha string) ([]*GitRepoStatus, error)

func (*GiteaProvider) ListOrganisations

func (p *GiteaProvider) ListOrganisations() ([]GitOrganisation, error)

func (*GiteaProvider) ListReleases

func (p *GiteaProvider) ListReleases(org string, name string) ([]*GitRelease, error)

func (*GiteaProvider) ListRepositories

func (p *GiteaProvider) ListRepositories(org string) ([]*GitRepository, error)

func (*GiteaProvider) MergePullRequest

func (p *GiteaProvider) MergePullRequest(pr *GitPullRequest, message string) error

func (*GiteaProvider) PullRequestLastCommitStatus

func (p *GiteaProvider) PullRequestLastCommitStatus(pr *GitPullRequest) (string, error)

func (*GiteaProvider) RenameRepository

func (p *GiteaProvider) RenameRepository(org string, name string, newName string) (*GitRepository, error)

func (*GiteaProvider) SearchIssues

func (p *GiteaProvider) SearchIssues(org string, name string, filter string) ([]*GitIssue, error)

func (*GiteaProvider) SearchIssuesClosedSince

func (p *GiteaProvider) SearchIssuesClosedSince(org string, name string, t time.Time) ([]*GitIssue, error)

func (*GiteaProvider) ServerURL

func (p *GiteaProvider) ServerURL() string

func (*GiteaProvider) UpdatePullRequestStatus

func (p *GiteaProvider) UpdatePullRequestStatus(pr *GitPullRequest) error

func (*GiteaProvider) UpdateRelease

func (p *GiteaProvider) UpdateRelease(owner string, repo string, tag string, releaseInfo *GitRelease) error

func (*GiteaProvider) UserAuth

func (p *GiteaProvider) UserAuth() auth.UserAuth

func (*GiteaProvider) UserInfo

func (p *GiteaProvider) UserInfo(username string) *GitUser

func (*GiteaProvider) ValidateRepositoryName

func (p *GiteaProvider) ValidateRepositoryName(org string, name string) error

type GitlabProvider

type GitlabProvider struct {
	Username string
	Client   *gitlab.Client
	Context  context.Context

	Server auth.AuthServer
	User   auth.UserAuth
}

func (*GitlabProvider) AddPRComment

func (g *GitlabProvider) AddPRComment(pr *GitPullRequest, comment string) error

func (*GitlabProvider) CreateIssue

func (g *GitlabProvider) CreateIssue(owner string, repo string, issue *GitIssue) (*GitIssue, error)

func (*GitlabProvider) CreateIssueComment

func (g *GitlabProvider) CreateIssueComment(owner string, repo string, number int, comment string) error

func (*GitlabProvider) CreatePullRequest

func (g *GitlabProvider) CreatePullRequest(data *GitPullRequestArguments) (*GitPullRequest, error)

func (*GitlabProvider) CreateRepository

func (g *GitlabProvider) CreateRepository(org string, name string, private bool) (*GitRepository, error)

func (*GitlabProvider) CreateWebHook

func (g *GitlabProvider) CreateWebHook(data *GitWebHookArguments) error

func (*GitlabProvider) CurrentUsername

func (p *GitlabProvider) CurrentUsername() string

func (*GitlabProvider) DeleteRepository

func (g *GitlabProvider) DeleteRepository(org, name string) error

func (*GitlabProvider) ForkRepository

func (g *GitlabProvider) ForkRepository(originalOrg, name, destinationOrg string) (*GitRepository, error)

func (*GitlabProvider) GetIssue

func (g *GitlabProvider) GetIssue(org, repo string, number int) (*GitIssue, error)

func (*GitlabProvider) GetPullRequest

func (p *GitlabProvider) GetPullRequest(owner string, repo *GitRepositoryInfo, number int) (*GitPullRequest, error)

func (*GitlabProvider) GetPullRequestCommits

func (p *GitlabProvider) GetPullRequestCommits(owner string, repository *GitRepositoryInfo, number int) ([]*GitCommit, error)

func (*GitlabProvider) GetRepository

func (g *GitlabProvider) GetRepository(org, name string) (*GitRepository, error)

func (*GitlabProvider) HasIssues

func (g *GitlabProvider) HasIssues() bool

func (*GitlabProvider) IsBitbucketCloud

func (g *GitlabProvider) IsBitbucketCloud() bool

func (*GitlabProvider) IsBitbucketServer

func (g *GitlabProvider) IsBitbucketServer() bool

func (*GitlabProvider) IsGitHub

func (g *GitlabProvider) IsGitHub() bool

func (*GitlabProvider) IsGitea

func (g *GitlabProvider) IsGitea() bool

func (*GitlabProvider) IssueURL

func (p *GitlabProvider) IssueURL(org string, name string, number int, isPull bool) string

func (*GitlabProvider) JenkinsWebHookPath

func (g *GitlabProvider) JenkinsWebHookPath(gitURL string, secret string) string

func (*GitlabProvider) Kind

func (g *GitlabProvider) Kind() string

func (*GitlabProvider) Label

func (g *GitlabProvider) Label() string

func (*GitlabProvider) ListCommitStatus

func (g *GitlabProvider) ListCommitStatus(org string, repo string, sha string) ([]*GitRepoStatus, error)

func (*GitlabProvider) ListOrganisations

func (g *GitlabProvider) ListOrganisations() ([]GitOrganisation, error)

func (*GitlabProvider) ListReleases

func (g *GitlabProvider) ListReleases(org string, name string) ([]*GitRelease, error)

func (*GitlabProvider) ListRepositories

func (g *GitlabProvider) ListRepositories(org string) ([]*GitRepository, error)

func (*GitlabProvider) MergePullRequest

func (g *GitlabProvider) MergePullRequest(pr *GitPullRequest, message string) error

func (*GitlabProvider) PullRequestLastCommitStatus

func (g *GitlabProvider) PullRequestLastCommitStatus(pr *GitPullRequest) (string, error)

func (*GitlabProvider) RenameRepository

func (g *GitlabProvider) RenameRepository(org, name, newName string) (*GitRepository, error)

func (*GitlabProvider) SearchIssues

func (g *GitlabProvider) SearchIssues(org, repo, query string) ([]*GitIssue, error)

func (*GitlabProvider) SearchIssuesClosedSince

func (g *GitlabProvider) SearchIssuesClosedSince(org string, repo string, t time.Time) ([]*GitIssue, error)

func (*GitlabProvider) ServerURL

func (p *GitlabProvider) ServerURL() string

func (*GitlabProvider) UpdatePullRequestStatus

func (g *GitlabProvider) UpdatePullRequestStatus(pr *GitPullRequest) error

func (*GitlabProvider) UpdateRelease

func (g *GitlabProvider) UpdateRelease(owner string, repo string, tag string, releaseInfo *GitRelease) error

func (*GitlabProvider) UserAuth

func (p *GitlabProvider) UserAuth() auth.UserAuth

func (*GitlabProvider) UserInfo

func (p *GitlabProvider) UserInfo(username string) *GitUser

func (*GitlabProvider) ValidateRepositoryName

func (g *GitlabProvider) ValidateRepositoryName(org, name string) error

type GroupAndCommitInfos

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

type OrganisationLister

type OrganisationLister interface {
	ListOrganisations() ([]GitOrganisation, error)
}

Jump to

Keyboard shortcuts

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