github

package
v0.0.0-...-a7868f3 Latest Latest
Warning

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

Go to latest
Published: Feb 29, 2024 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Token               string
	BaseURL             string
	TransportMiddleware func(http.RoundTripper) http.RoundTripper
	RepoListing         RepositoryListing
	MergeTypes          []scm.MergeType
	ForkMode            bool
	ForkOwner           string
	SSHAuth             bool
	ReadOnly            bool
	CheckPermissions    bool
}

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

	// This determines when we are running in read only mode.
	ReadOnly bool

	// If set, the fork will happen to the ForkOwner value, and not the logged in user
	ForkOwner string

	// If set, use the SSH clone url instead of http(s)
	SSHAuth bool
	// contains filtered or unexported fields
}

Github contain github configuration

func New

func New(
	config Config,
) (*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

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) GetOpenPullRequest

func (g *Github) GetOpenPullRequest(ctx context.Context, repo scm.Repository, branchName string) (scm.PullRequest, error)

GetOpenPullRequest gets a pull request for one specific repository

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

func (*Github) UpdatePullRequest

func (g *Github) UpdatePullRequest(ctx context.Context, repo scm.Repository, pullReq scm.PullRequest, updatedPR scm.NewPullRequest) (scm.PullRequest, error)

UpdatePullRequest updates an existing pull request

type RepositoryListing

type RepositoryListing struct {
	Organizations    []string
	Users            []string
	Repositories     []RepositoryReference
	RepositorySearch string
	CodeSearch       string
	Topics           []string
	SkipForks        bool
}

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

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