Documentation ¶
Index ¶
- Variables
- func NewOrgRepositoryRef(domain, org, repoName string) gitprovider.OrgRepositoryRef
- func ViperGetStringMapString(key string) map[string]string
- type AccountTypeGetter
- type Client
- type Config
- type GitProvider
- type GitProviderName
- type ProviderAccountType
- type PullRequestInfo
- type RepoURL
- type RepositoryURLProtocol
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrRepositoryNoPermissionsOrDoesNotExist = errors.New("no permissions to access this repository or repository doesn't exists")
Functions ¶
func NewOrgRepositoryRef ¶
func NewOrgRepositoryRef(domain, org, repoName string) gitprovider.OrgRepositoryRef
func ViperGetStringMapString ¶ added in v0.6.0
ViperGetStringMapString looks up a command line flag or env var in the format "foo=1,bar=2" GetStringMapString tries to JSON decode the env var If that fails (silently), try and decode the classic "foo=1,bar=2" form. https://github.com/spf13/viper/issues/911
Types ¶
type AccountTypeGetter ¶ added in v0.3.1
type AccountTypeGetter func(provider gitprovider.Client, domain string, owner string) (ProviderAccountType, error)
type Client ¶ added in v0.5.0
type Client interface {
GetProvider(repoUrl RepoURL, getAccountType AccountTypeGetter) (GitProvider, error)
}
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 { RepositoryExists(ctx context.Context, repoUrl RepoURL) (bool, error) DeployKeyExists(ctx context.Context, repoUrl RepoURL) (bool, error) GetDefaultBranch(ctx context.Context, repoUrl RepoURL) (string, error) GetRepoVisibility(ctx context.Context, repoUrl RepoURL) (*gitprovider.RepositoryVisibility, error) UploadDeployKey(ctx context.Context, repoUrl RepoURL, deployKey []byte) error CreatePullRequest(ctx context.Context, repoUrl RepoURL, prInfo PullRequestInfo) (gitprovider.PullRequest, error) GetCommits(ctx context.Context, repoUrl RepoURL, targetBranch string, pageSize int, pageToken int) ([]gitprovider.Commit, error) GetProviderDomain() string GetRepoDirFiles(ctx context.Context, repoUrl RepoURL, dirPath, targetBranch string) ([]*gitprovider.CommitFile, error) MergePullRequest(ctx context.Context, repoUrl RepoURL, pullRequestNumber int, commitMesage string) error }
GitProvider Handler
func New ¶ added in v0.1.0
func New(config Config, owner string, getAccountType AccountTypeGetter) (GitProvider, error)
func NewDryRun ¶ added in v0.3.1
func NewDryRun() (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" )
type ProviderAccountType ¶ added in v0.0.4
type ProviderAccountType string
const ( AccountTypeUser ProviderAccountType = "user" AccountTypeOrg ProviderAccountType = "organization" DeployKeyName = "wego-deploy-key" )
func GetAccountType ¶ added in v0.0.4
func GetAccountType(provider gitprovider.Client, domain string, owner string) (ProviderAccountType, error)
type PullRequestInfo ¶ added in v0.3.1
type PullRequestInfo struct { Title string Description string CommitMessage string TargetBranch string NewBranch string SkipAddingFilesOnCreation bool Files []gitprovider.CommitFile }
type RepoURL ¶ added in v0.3.2
type RepoURL struct {
// contains filtered or unexported fields
}
func NewRepoURL ¶ added in v0.3.2
func (RepoURL) Protocol ¶ added in v0.3.2
func (n RepoURL) Protocol() RepositoryURLProtocol
func (RepoURL) Provider ¶ added in v0.3.2
func (n RepoURL) Provider() GitProviderName
func (RepoURL) RepositoryName ¶ added in v0.3.2
type RepositoryURLProtocol ¶ added in v0.2.5
type RepositoryURLProtocol string
const RepositoryURLProtocolHTTPS RepositoryURLProtocol = "https"
const RepositoryURLProtocolSSH RepositoryURLProtocol = "ssh"
Source Files ¶
Click to show internal directories.
Click to hide internal directories.