Versions in this module Expand all Collapse all v0 v0.2.1 Dec 21, 2025 v0.2.0 Dec 21, 2025 Changes in this version + func DeploymentStateEmoji(state DeploymentState) string + func GetCommitMessages(commits []Commit) []string + func GetRateLimitReset(err error) time.Time + func IsForbidden(err error) bool + func IsNotFound(err error) bool + func IsRateLimitError(err error) bool + func WrapWithRetry[T any](ctx context.Context, config RetryConfig, operation func() (T, error)) (T, error) + type Branch struct + Name string + Protected bool + SHA string + type Client struct + func NewClient(ctx context.Context) (*Client, error) + func NewClientWithToken(ctx context.Context, token, owner, repo string) (*Client, error) + func NewClientWithTokenAndRetry(ctx context.Context, token, owner, repo string, retryConfig RetryConfig) (*Client, error) + func (c *Client) AddLabelToPR(ctx context.Context, prNumber int, labels []string) error + func (c *Client) AddLabels(ctx context.Context, number int, labels []string) error + func (c *Client) AddReaction(ctx context.Context, commentID int64, reaction string) error + func (c *Client) AddSubIssue(ctx context.Context, parentIssueNumber int, subIssueID int64) error + func (c *Client) CloseIssue(ctx context.Context, number int) error + func (c *Client) CloseMilestone(ctx context.Context, number int) error + func (c *Client) CompareCommits(ctx context.Context, base, head string) ([]Commit, error) + func (c *Client) CreateApprovalSubIssue(ctx context.Context, parentIssueNumber int, title, body string, ...) (*Issue, error) + func (c *Client) CreateBranch(ctx context.Context, branchName, sourceRef string) (*Branch, error) + func (c *Client) CreateComment(ctx context.Context, number int, body string) error + func (c *Client) CreateDeployment(ctx context.Context, opts CreateDeploymentOptions) (*Deployment, error) + func (c *Client) CreateDeploymentStatus(ctx context.Context, opts CreateDeploymentStatusOptions) (*DeploymentStatus, error) + func (c *Client) CreateIssue(ctx context.Context, opts CreateIssueOptions) (*Issue, error) + func (c *Client) CreateLabel(ctx context.Context, name, color, description string) error + func (c *Client) CreateMilestone(ctx context.Context, title, description string) (*Milestone, error) + func (c *Client) CreateTag(ctx context.Context, opts CreateTagOptions) (*Tag, error) + func (c *Client) DeleteBranch(ctx context.Context, branchName string) error + func (c *Client) DeleteTag(ctx context.Context, name string) error + func (c *Client) ExpandTeamToUsers(ctx context.Context, approvers []string) ([]string, error) + func (c *Client) GetBranch(ctx context.Context, branchName string) (*Branch, error) + func (c *Client) GetCommitsBetweenBranches(ctx context.Context, baseBranch, headBranch string) ([]Commit, error) + func (c *Client) GetCommitsBetweenTags(ctx context.Context, oldTag, newTag string) ([]Commit, error) + func (c *Client) GetCommitsSinceTag(ctx context.Context, tag, branch string) ([]Commit, error) + func (c *Client) GetDeployment(ctx context.Context, deploymentID int64) (*Deployment, error) + func (c *Client) GetEnvironmentDeploymentStatus(ctx context.Context, environment string) (*Deployment, *DeploymentStatus, error) + func (c *Client) GetFileContents(ctx context.Context, owner, repo, path string) ([]byte, error) + func (c *Client) GetFileContentsFromRepo(ctx context.Context, repoFullName, path string) ([]byte, error) + func (c *Client) GetIssue(ctx context.Context, number int) (*Issue, error) + func (c *Client) GetIssueByNumber(ctx context.Context, number int) (*github.Issue, *github.Response, error) + func (c *Client) GetLatestDeploymentStatus(ctx context.Context, deploymentID int64) (*DeploymentStatus, error) + func (c *Client) GetLatestTag(ctx context.Context) (string, error) + func (c *Client) GetLatestTagWithPrefix(ctx context.Context, prefix string) (string, error) + func (c *Client) GetMergedPRsBetween(ctx context.Context, base, head string) ([]PullRequest, error) + func (c *Client) GetMilestoneByTitle(ctx context.Context, title string) (*Milestone, error) + func (c *Client) GetPRsByLabel(ctx context.Context, label string) ([]PullRequest, error) + func (c *Client) GetPRsByMilestone(ctx context.Context, milestoneNumber int) ([]PullRequest, error) + func (c *Client) GetPRsMergedToBranch(ctx context.Context, branchName string) ([]PullRequest, error) + func (c *Client) GetParentIssue(ctx context.Context, subIssueNumber int) (*github.Issue, error) + func (c *Client) GetPreviousTag(ctx context.Context, currentTag string) (string, error) + func (c *Client) GetTeamMembers(ctx context.Context, team string) ([]TeamMember, error) + func (c *Client) GitHubClient() *github.Client + func (c *Client) IsSubIssue(ctx context.Context, issueNumber int) (bool, error) + func (c *Client) IsUserInTeam(ctx context.Context, team, user string) (bool, error) + func (c *Client) ListComments(ctx context.Context, number int) ([]IssueComment, error) + func (c *Client) ListDeployments(ctx context.Context, environment string, ref string) ([]Deployment, error) + func (c *Client) ListSubIssues(ctx context.Context, parentIssueNumber int) ([]*github.Issue, error) + func (c *Client) ListTags(ctx context.Context, limit int) ([]string, error) + func (c *Client) Owner() string + func (c *Client) RemoveLabelFromPR(ctx context.Context, prNumber int, label string) error + func (c *Client) RemoveSubIssue(ctx context.Context, parentIssueNumber int, subIssueID int64) error + func (c *Client) ReopenIssue(ctx context.Context, number int) error + func (c *Client) Repo() string + func (c *Client) TagExists(ctx context.Context, name string) (bool, error) + func (c *Client) UpdateIssueBody(ctx context.Context, number int, body string) error + func (c *Client) UpdateIssueTitle(ctx context.Context, number int, title string) error + type Commit struct + Author string + Date string + Message string + SHA string + URL string + type CreateDeploymentOptions struct + AutoMerge bool + Description string + Environment string + Payload string + ProductionEnv bool + Ref string + RequiredContexts []string + TransientEnv bool + type CreateDeploymentStatusOptions struct + AutoInactive bool + DeploymentID int64 + Description string + Environment string + EnvironmentURL string + LogURL string + State DeploymentState + type CreateIssueOptions struct + Assignees []string + Body string + Labels []string + Title string + type CreateTagOptions struct + Message string + Name string + SHA string + type Deployment struct + Creator string + Description string + Environment string + ID int64 + Ref string + SHA string + URL string + type DeploymentState string + const DeploymentStateError + const DeploymentStateFailure + const DeploymentStateInProgress + const DeploymentStateInactive + const DeploymentStatePending + const DeploymentStateQueued + const DeploymentStateSuccess + type DeploymentStatus struct + Description string + Environment string + ID int64 + LogURL string + State DeploymentState + type Issue struct + Body string + HTMLURL string + Labels []string + Number int + State string + Title string + type IssueComment struct + Body string + CreatedAt string + ID int64 + User string + type Milestone struct + ClosedIssues int + Description string + Number int + OpenIssues int + State string + Title string + URL string + type PRWithLabels struct + Labels []string + type PullRequest struct + Author string + MergeSHA string + MergedAt string + Number int + Title string + URL string + type RetryConfig struct + BackoffMultiplier float64 + InitialBackoff time.Duration + MaxBackoff time.Duration + MaxRetries int + func DefaultRetryConfig() RetryConfig + type SubIssueRequest struct + SubIssueID int64 + type SubIssueResponse struct + Assignees []*github.User + HTMLURL string + ID int64 + Number int + State string + Title string + type SubIssueState struct + ClosedAt string + ClosedBy string + IssueNumber int + Stage string + Status string + type Tag struct + Name string + SHA string + Tagger string + type TeamMember struct + Login string