gitproviders

package
v0.2.4 Latest Latest
Warning

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

Go to latest
Published: Aug 24, 2021 License: MPL-2.0 Imports: 11 Imported by: 7

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewOrgRepositoryRef

func NewOrgRepositoryRef(domain, org, repoName string) gitprovider.OrgRepositoryRef

func NewRepositoryInfo

func NewRepositoryInfo(description string, visibility gitprovider.RepositoryVisibility) gitprovider.RepositoryInfo

func NewUserRepositoryRef

func NewUserRepositoryRef(domain, user, repoName string) gitprovider.UserRepositoryRef

Types

type Config added in v0.2.2

type Config struct {
	// Provider defines the GitProvider.
	Provider GitProviderName

	// Hostname is the HTTP/S hostname of the Provider,
	// e.g. github.example.com.
	Hostname string

	// Token contains the token used to authenticate with the
	// Provider.
	Token string
}

Config defines the configuration for connecting to a GitProvider.

type GitProvider added in v0.2.2

type GitProvider interface {
	CreateRepository(name string, owner string, private bool) error
	RepositoryExists(name string, owner string) (bool, error)
	DeployKeyExists(owner, repoName string) (bool, error)
	GetRepoInfo(accountType ProviderAccountType, owner string, repoName string) (*gitprovider.RepositoryInfo, error)
	GetRepoInfoFromUrl(url string) (*gitprovider.RepositoryInfo, error)
	GetDefaultBranch(url string) (string, error)
	UploadDeployKey(owner, repoName string, deployKey []byte) error
	CreatePullRequestToUserRepo(userRepRef gitprovider.UserRepositoryRef, targetBranch string, newBranch string, files []gitprovider.CommitFile, commitMessage string, prTitle string, prDescription string) (gitprovider.PullRequest, error)
	CreatePullRequestToOrgRepo(orgRepRef gitprovider.OrgRepositoryRef, targetBranch string, newBranch string, files []gitprovider.CommitFile, commitMessage string, prTitle string, prDescription string) (gitprovider.PullRequest, error)
	GetCommitsFromUserRepo(userRepRef gitprovider.UserRepositoryRef, targetBranch string) ([]gitprovider.Commit, error)
	GetCommitsFromOrgRepo(orgRepRef gitprovider.OrgRepositoryRef, targetBranch string) ([]gitprovider.Commit, error)
	GetAccountType(owner string) (ProviderAccountType, error)
}

GitProvider Handler

func New added in v0.1.0

func New(config Config) (GitProvider, error)

type GitProviderName added in v0.2.2

type GitProviderName string

GitProviderName holds a Git provider definition.

const (
	GitProviderGitHub GitProviderName = "github"
	GitProviderGitLab GitProviderName = "gitlab"
)

func DetectGitProviderFromUrl added in v0.2.3

func DetectGitProviderFromUrl(raw string) (GitProviderName, error)

DetectGitProviderFromUrl accepts a url related to a git repo and returns the name of the provider associated. The raw URL is assumed to be something like ssh://git@github.com/myorg/myrepo.git. The common `git clone` variant of `git@github.com:myorg/myrepo.git` is not supported.

type ProviderAccountType added in v0.0.4

type ProviderAccountType string
const (
	AccountTypeUser ProviderAccountType = "user"
	AccountTypeOrg  ProviderAccountType = "organization"
)

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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