Documentation
¶
Index ¶
- func NewOrgRepositoryRef(domain, org, repoName string) gitprovider.OrgRepositoryRef
- func NewRepositoryInfo(description string, visibility gitprovider.RepositoryVisibility) gitprovider.RepositoryInfo
- func NewUserRepositoryRef(domain, user, repoName string) gitprovider.UserRepositoryRef
- type Config
- type GitProvider
- type GitProviderName
- type ProviderAccountType
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" )
Click to show internal directories.
Click to hide internal directories.