github

package
v0.0.0-...-5643740 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2024 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// SessionStoreKey is the key used to lookup the session
	SessionStoreKey = "cla-github"
)

Variables

View Source
var (
	// ErrAccessDenied is returned whenever github return 403 or 401
	ErrAccessDenied = errors.New("access denied")
	// ErrRateLimited is returned when github detects rate limit abuse
	ErrRateLimited = errors.New("rate limit")
)
View Source
var (
	// ErrGitHubRepositoryNotFound is returned when github repository is not found
	ErrGitHubRepositoryNotFound = errors.New("github repository not found")
)
View Source
var (
	ErrGithubOrganizationNotFound = errors.New("github organization name not found")
)

errors

Functions

func CheckAndWrapForKnownErrors

func CheckAndWrapForKnownErrors(resp *github.Response, err error) (bool, error)

CheckAndWrapForKnownErrors checks for some of the known error types

func Configure

func Configure(api *operations.ClaAPI, clientID, clientSecret, accessToken string, sessionStore *dynastore.Store)

Configure API call

func GetGitHubRepository

func GetGitHubRepository(ctx context.Context, installationID, githubRepositoryID int64) (*github.Repository, error)

func GetInstallationRepositories

func GetInstallationRepositories(ctx context.Context, installationID int64) ([]*github.Repository, error)

GetInstallationRepositories returns list of repositories for github app installation

func GetMembership

func GetMembership(ctx context.Context, user, organizationName string) (*github.Membership, error)

GetOrganization gets github organization

func GetOrganization

func GetOrganization(ctx context.Context, organizationName string) (*github.Organization, error)

GetOrganization gets github organization

func GetOrganizationMembers

func GetOrganizationMembers(ctx context.Context, orgName string, installationID int64) ([]string, error)

GetOrganizationMembers gets members in organization

func GetPullRequest

func GetPullRequest(ctx context.Context, pullRequestID int, owner, repo string, client *github.Client) (*github.PullRequest, error)

func GetRepositories

func GetRepositories(ctx context.Context, organizationName string) ([]*github.Repository, error)

GetRepositories gets github repositories by organization

func GetRepositoryByExternalID

func GetRepositoryByExternalID(ctx context.Context, installationID, id int64) (*github.Repository, error)

GetRepositoryByExternalID finds github repository by github repository id

func GetReturnURL

func GetReturnURL(ctx context.Context, installationID, repositoryID int64, pullRequestID int) (string, error)

func GetUserDetails

func GetUserDetails(user string) (*github.User, error)

GetUserDetails return github users details

func Init

func Init(ghAppID int, ghAppPrivateKey string, secAccessToken string)

Init initializes the required GitHub variables

func NewGithubAppClient

func NewGithubAppClient(installationID int64) (*github.Client, error)

NewGithubAppClient creates a new github client from the supplied installationID

func NewGithubOauthClient

func NewGithubOauthClient() *github.Client

NewGithubOauthClient creates github client from global accessToken

func NewGithubOauthClientWithAccessToken

func NewGithubOauthClientWithAccessToken(accessToken string) *github.Client

NewGithubOauthClientWithAccessToken creates github client from specified accessToken

func NewGithubV4AppClient

func NewGithubV4AppClient(installationID int64) (*githubv4.Client, error)

NewGithubV4AppClient creates a new github v4 client from the supplied installationID

func UpdatePullRequest

func UpdatePullRequest(ctx context.Context, installationID int64, pullRequestID int, owner, repo string, repoID *int64, latestSHA string, signed []*UserCommitSummary, missing []*UserCommitSummary, CLABaseAPIURL, CLALandingPage, CLALogoURL string) error

Types

type Status

type Status struct {
	State       *string `json:"state,omitempty"`
	TargetURL   *string `json:"target_url,omitempty"`
	Description *string `json:"description,omitempty"`
	Context     *string `json:"context,omitempty"`
}

func CreateStatus

func CreateStatus(ctx context.Context, client *github.Client, owner, repo, sha string, status *Status) (*Status, *github.Response, error)

CreateStatus creates a new status on the specified commit.

GitHub API docs:https://docs.github.com/en/rest/commits/statuses

type UserCommitSummary

type UserCommitSummary struct {
	SHA          string
	CommitAuthor *github.User
	Affiliated   bool
	Authorized   bool
}

UserCommitSummary data model

func GetPullRequestCommitAuthors

func GetPullRequestCommitAuthors(ctx context.Context, installationID int64, pullRequestID int, owner, repo string) ([]*UserCommitSummary, *string, error)

func (UserCommitSummary) GetCommitAuthorEmail

func (u UserCommitSummary) GetCommitAuthorEmail() string

GetCommitAuthorEmail returns commit author email if available, otherwise returns empty string

func (UserCommitSummary) GetCommitAuthorID

func (u UserCommitSummary) GetCommitAuthorID() string

GetCommitAuthorID commit author username ID (numeric value as a string) if available, otherwise returns empty string

func (UserCommitSummary) GetCommitAuthorUsername

func (u UserCommitSummary) GetCommitAuthorUsername() string

GetCommitAuthorUsername returns commit author username if available, otherwise returns empty string

func (UserCommitSummary) GetDisplayText

func (u UserCommitSummary) GetDisplayText(tagUser bool) string

GetDisplayText returns the display text for the user commit summary

func (UserCommitSummary) IsValid

func (u UserCommitSummary) IsValid() bool

IsValid returns true if the commit author information is available

Directories

Path Synopsis
Package branch_protection is a generated GoMock package.
Package branch_protection is a generated GoMock package.

Jump to

Keyboard shortcuts

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