github

package
v0.36.1 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2021 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Github

type Github struct {
	RepositoryListing
	MergeTypes []scm.MergeType

	// This determines if forks will be used when creating a prs.
	// In this package, it mainly determines which repos are possible to make changes on
	Fork bool

	// If set, the fork will happen to the ForkOwner value, and not the logged in user
	ForkOwner string
	// contains filtered or unexported fields
}

Github contain github configuration

func New

func New(
	token string,
	baseURL string,
	transportMiddleware func(http.RoundTripper) http.RoundTripper,
	repoListing RepositoryListing,
	mergeTypes []scm.MergeType,
	forkMode bool,
	forkOwner string,
) (*Github, error)

New create a new Github client

func (*Github) ClosePullRequest

func (g *Github) ClosePullRequest(ctx context.Context, pullReq scm.PullRequest) error

ClosePullRequest closes a pull request

func (*Github) CreatePullRequest

func (g *Github) CreatePullRequest(ctx context.Context, repo scm.Repository, prRepo scm.Repository, newPR scm.NewPullRequest) (scm.PullRequest, error)

CreatePullRequest creates a pull request

func (*Github) ForkRepository added in v0.27.0

func (g *Github) ForkRepository(ctx context.Context, repo scm.Repository, newOwner string) (scm.Repository, error)

ForkRepository forks a repository. If newOwner is empty, fork on the logged in user

func (*Github) GetAutocompleteOrganizations

func (g *Github) GetAutocompleteOrganizations(ctx context.Context, _ string) ([]string, error)

GetAutocompleteOrganizations gets organizations for autocompletion

func (*Github) GetAutocompleteRepositories

func (g *Github) GetAutocompleteRepositories(ctx context.Context, str string) ([]string, error)

GetAutocompleteRepositories gets repositories for autocompletion

func (*Github) GetAutocompleteUsers

func (g *Github) GetAutocompleteUsers(ctx context.Context, str string) ([]string, error)

GetAutocompleteUsers gets users for autocompletion

func (*Github) GetPullRequests

func (g *Github) GetPullRequests(ctx context.Context, branchName string) ([]scm.PullRequest, error)

GetPullRequests gets all pull requests of with a specific branch

func (*Github) GetRepositories

func (g *Github) GetRepositories(ctx context.Context) ([]scm.Repository, error)

GetRepositories fetches repositories from all sources (orgs/user/specific repo)

func (*Github) MergePullRequest

func (g *Github) MergePullRequest(ctx context.Context, pullReq scm.PullRequest) error

MergePullRequest merges a pull request

type RepositoryListing

type RepositoryListing struct {
	Organizations []string
	Users         []string
	Repositories  []RepositoryReference
}

RepositoryListing contains information about which repositories that should be fetched

type RepositoryReference

type RepositoryReference struct {
	OwnerName string
	Name      string
}

RepositoryReference contains information to be able to reference a repository

func ParseRepositoryReference

func ParseRepositoryReference(val string) (RepositoryReference, error)

ParseRepositoryReference parses a repository reference from the format "ownerName/repoName"

func (RepositoryReference) String added in v0.27.0

func (rr RepositoryReference) String() string

String returns the string representation of a repo reference

Jump to

Keyboard shortcuts

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