Documentation
¶
Overview ¶
Package github provides functionality for interacting with the GitHub API
Index ¶
- func ExtractRepoInfo(remoteURL string) (string, string, error)
- func InstallPostTagHook() error
- type Client
- func (c *Client) AreAllWorkflowsComplete(owner, repo, ref string) (bool, error)
- func (c *Client) CreateRelease(owner, repo, tagName, name, body string, draft, prerelease bool) (map[string]interface{}, error)
- func (c *Client) GetLatestRelease(owner, repo string) (map[string]interface{}, error)
- func (c *Client) GetRepository(owner, repo string) (map[string]interface{}, error)
- func (c *Client) GetUser() (map[string]interface{}, error)
- func (c *Client) GetWorkflowRunsForRef(owner, repo, ref string) ([]map[string]interface{}, error)
- func (c *Client) IsAuthenticated() (bool, error)
- func (c *Client) WaitForWorkflowsToComplete(owner, repo, ref string, maxWaitSeconds int) error
- type ReleaseManager
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExtractRepoInfo ¶
ExtractRepoInfo extracts owner and repo name from a Git remote URL or the current repository
func InstallPostTagHook ¶
func InstallPostTagHook() error
InstallPostTagHook installs a Git hook that runs after tags are created to create GitHub releases automatically with enhanced release notes
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client represents a GitHub API client
func NewClientWithoutAuth ¶ added in v0.4.1
func NewClientWithoutAuth() *Client
NewClientWithoutAuth creates a new GitHub API client without authentication for accessing public resources
func (*Client) AreAllWorkflowsComplete ¶ added in v0.3.5
AreAllWorkflowsComplete checks if all workflows for a ref have completed (success or failure)
func (*Client) CreateRelease ¶
func (c *Client) CreateRelease(owner, repo, tagName, name, body string, draft, prerelease bool) (map[string]interface{}, error)
CreateRelease creates a new release in the specified repository
func (*Client) GetLatestRelease ¶ added in v0.4.1
GetLatestRelease gets the latest release from a GitHub repository
func (*Client) GetRepository ¶
GetRepository retrieves a repository by owner and repo name
func (*Client) GetWorkflowRunsForRef ¶ added in v0.3.5
GetWorkflowRunsForRef gets the workflow runs triggered by a specific git ref (tag/branch)
func (*Client) IsAuthenticated ¶
IsAuthenticated checks if the client has a valid GitHub token
type ReleaseManager ¶
type ReleaseManager struct {
// contains filtered or unexported fields
}
ReleaseManager handles GitHub release operations
func NewReleaseManager ¶
func NewReleaseManager(config config.Config) (*ReleaseManager, error)
NewReleaseManager creates a new release manager
func (*ReleaseManager) UpdateReleaseNotes ¶
func (m *ReleaseManager) UpdateReleaseNotes(tagName string, skipApproval bool) error
UpdateReleaseNotes creates or updates GitHub release notes with AI-generated content
func (*ReleaseManager) UpdateReleaseNotesWithWorkflowCheck ¶ added in v0.3.5
func (m *ReleaseManager) UpdateReleaseNotesWithWorkflowCheck(tagName string, skipApproval bool, waitForWorkflows bool, maxWaitSeconds int) error
UpdateReleaseNotesWithWorkflowCheck creates or updates GitHub release notes after checking workflow status