github

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2025 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client represents a client for the GitHub API using go-github

func New

func New(httpClient *http.Client) *Client

New creates a new GitHub client with optional authentication If httpClient is nil, a default HTTP client will be used If authentication is configured via GITHUB_TOKEN, the client will be wrapped with oauth2

func (*Client) FilterTagsWithPrefix

func (c *Client) FilterTagsWithPrefix(tags []*github.RepositoryTag, prefix string) []*github.RepositoryTag

FilterTagsWithPrefix filters tags that start with a specific prefix

func (*Client) GetCommitForTag

func (c *Client) GetCommitForTag(ctx context.Context, owner, repo, tag string) (string, error)

GetCommitForTag gets the commit SHA for a specific tag

func (*Client) GetCommitInfo

func (c *Client) GetCommitInfo(ctx context.Context, owner, repo, sha string) (*github.Commit, error)

GetCommitInfo gets detailed information about a commit

func (*Client) GetFirstValidRelease

func (c *Client) GetFirstValidRelease(ctx context.Context, owner, repo string, tagPrefix string, filter types.VersionFilterFunc) (string, error)

GetFirstValidRelease finds the first release that passes all filtering criteria

func (*Client) GetFirstValidTag

func (c *Client) GetFirstValidTag(ctx context.Context, owner, repo string, tagPrefix string, filter types.VersionFilterFunc) (string, error)

GetFirstValidTag finds the first tag that passes all filtering criteria

func (*Client) GetLatestRelease

func (c *Client) GetLatestRelease(ctx context.Context, owner, repo string) (*github.RepositoryRelease, error)

GetLatestRelease fetches the latest release for a repository

func (*Client) GetReleases

func (c *Client) GetReleases(ctx context.Context, owner, repo string) ([]*github.RepositoryRelease, error)

GetReleases fetches releases for a repository

func (*Client) GetReleasesPage

func (c *Client) GetReleasesPage(ctx context.Context, owner, repo string, page, perPage int) ([]*github.RepositoryRelease, *github.Response, error)

GetReleasesPage fetches a specific page of releases (useful for pagination)

func (*Client) GetRepositoryCommit

func (c *Client) GetRepositoryCommit(ctx context.Context, owner, repo, sha string) (*github.RepositoryCommit, error)

GetRepositoryCommit gets a repository commit (different from Git commit)

func (*Client) GetTags

func (c *Client) GetTags(ctx context.Context, owner, repo string) ([]*github.RepositoryTag, error)

GetTags fetches tags for a repository

func (*Client) GetTagsPage

func (c *Client) GetTagsPage(ctx context.Context, owner, repo string, page, perPage int) ([]*github.RepositoryTag, *github.Response, error)

GetTagsPage fetches a specific page of tags (useful for pagination)

func (*Client) ListReleasesByTag

func (c *Client) ListReleasesByTag(ctx context.Context, owner, repo, tagPattern string) ([]*github.RepositoryRelease, error)

ListReleasesByTag gets releases that match a specific tag pattern

func (*Client) VerifyRepository

func (c *Client) VerifyRepository(ctx context.Context, owner, repo string) error

VerifyRepository checks if a repository exists and is accessible

type Repository

type Repository struct {
	Owner string
	Name  string
}

Repository represents basic repository information

func ParseRepository

func ParseRepository(identifier string) (*Repository, error)

ParseRepository parses a repository identifier like "golang/go" into owner and repo

Jump to

Keyboard shortcuts

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