Documentation
¶
Index ¶
- type CheckStatus
- type Client
- func (c *Client) CreatePR(title, body, head, base string, draft bool) (*PR, error)
- func (c *Client) GetPR(number int) (*PR, error)
- func (c *Client) GetPRByBranch(branch string) (*PR, error)
- func (c *Client) GetPRChecks(number int) (*CheckStatus, error)
- func (c *Client) ListOpenPRs() ([]OpenPR, error)
- func (c *Client) UpdatePR(number int, body string) error
- func (c *Client) UpdatePRBase(number int, base string) error
- func (c *Client) UpdateStackDescription(stack *config.Stack, currentBranch string, skipBranches map[string]bool) error
- type ClientInterface
- type OpenPR
- type PR
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CheckStatus ¶
type CheckStatus struct {
State string // "success", "failure", "pending", "error"
Summary string // e.g., "3/3 checks passed"
}
CheckStatus represents CI check status
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client wraps GitHub operations using gh CLI
func (*Client) GetPRByBranch ¶
GetPRByBranch gets a PR by its head branch name
func (*Client) GetPRChecks ¶
func (c *Client) GetPRChecks(number int) (*CheckStatus, error)
GetPRChecks gets the CI check status for a PR
func (*Client) ListOpenPRs ¶
ListOpenPRs returns all open PRs in the repository
func (*Client) UpdatePRBase ¶
UpdatePRBase updates a PR's base branch
func (*Client) UpdateStackDescription ¶
func (c *Client) UpdateStackDescription(stack *config.Stack, currentBranch string, skipBranches map[string]bool) error
UpdateStackDescription updates PR descriptions with stack info skipBranches is a set of branch names to skip (e.g., remote-tracking branches that belong to others)
type ClientInterface ¶
type ClientInterface interface {
// CreatePR creates a new pull request
CreatePR(title, body, head, base string, draft bool) (*PR, error)
// GetPR gets a PR by number
GetPR(number int) (*PR, error)
// GetPRByBranch gets a PR by its head branch name
GetPRByBranch(branch string) (*PR, error)
// GetPRChecks gets the CI check status for a PR
GetPRChecks(number int) (*CheckStatus, error)
// UpdatePR updates a PR's body
UpdatePR(number int, body string) error
// UpdatePRBase updates a PR's base branch
UpdatePRBase(number int, base string) error
// ListOpenPRs returns all open PRs in the repository
ListOpenPRs() ([]OpenPR, error)
// UpdateStackDescription updates PR descriptions with stack info
UpdateStackDescription(stack *config.Stack, currentBranch string, skipBranches map[string]bool) error
}
ClientInterface defines the interface for GitHub operations This allows for mocking in tests
type OpenPR ¶
type OpenPR struct {
Number int `json:"number"`
Title string `json:"title"`
Branch string `json:"headRefName"`
Author string `json:"author"`
URL string `json:"url"`
}
OpenPR represents a minimal PR for listing
type PR ¶
type PR struct {
Number int `json:"number"`
URL string `json:"url"`
Title string `json:"title"`
Body string `json:"body"`
State string `json:"state"`
Base string `json:"baseRefName"`
Head string `json:"headRefName"`
MergedAt string `json:"mergedAt"` // non-empty if merged
Merged bool // computed from MergedAt
Mergeable string `json:"mergeable"`
IsDraft bool `json:"isDraft"`
ReviewState string `json:"reviewDecision"`
}
PR represents a pull request
Click to show internal directories.
Click to hide internal directories.