Documentation
¶
Index ¶
- type GitHubMerger
- func (m *GitHubMerger) ApprovePR(ctx context.Context, repoRef model.RepoRef, prNumber int, body string) error
- func (m *GitHubMerger) DeleteBranch(ctx context.Context, repoRef model.RepoRef, branch string) error
- func (m *GitHubMerger) IsMergeable(ctx context.Context, repoRef model.RepoRef, prNumber int) (bool, string, error)
- func (m *GitHubMerger) MergePR(ctx context.Context, repoRef model.RepoRef, prNumber int, ...) (*MergeInfo, error)
- type MergeInfo
- type MergeStrategy
- type Merger
- type Options
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GitHubMerger ¶
type GitHubMerger struct {
// contains filtered or unexported fields
}
GitHubMerger implements Merger for GitHub.
func NewGitHubMerger ¶
func NewGitHubMerger(token string) *GitHubMerger
NewGitHubMerger creates a new GitHub merger.
func (*GitHubMerger) ApprovePR ¶
func (m *GitHubMerger) ApprovePR(ctx context.Context, repoRef model.RepoRef, prNumber int, body string) error
ApprovePR adds an approval review to a pull request.
func (*GitHubMerger) DeleteBranch ¶
func (m *GitHubMerger) DeleteBranch(ctx context.Context, repoRef model.RepoRef, branch string) error
DeleteBranch deletes the PR's head branch after merge.
type MergeInfo ¶
type MergeInfo struct {
SHA string `json:"sha"`
Message string `json:"message"`
Merged bool `json:"merged"`
}
MergeInfo contains information about a successful merge.
type MergeStrategy ¶
type MergeStrategy string
MergeStrategy defines how to merge a PR.
const ( MergeStrategyMerge MergeStrategy = "merge" MergeStrategySquash MergeStrategy = "squash" MergeStrategyRebase MergeStrategy = "rebase" )
type Merger ¶
type Merger interface {
// MergePR merges a pull request using the specified strategy.
MergePR(ctx context.Context, repo model.RepoRef, prNumber int, strategy MergeStrategy, commitMessage string) (*MergeInfo, error)
// ApprovePR adds an approval review to a pull request.
ApprovePR(ctx context.Context, repo model.RepoRef, prNumber int, body string) error
// IsMergeable checks if a PR can be merged.
IsMergeable(ctx context.Context, repo model.RepoRef, prNumber int) (bool, string, error)
// DeleteBranch deletes the PR's head branch after merge.
DeleteBranch(ctx context.Context, repo model.RepoRef, branch string) error
}
Merger defines the interface for merging pull requests.
type Options ¶
type Options struct {
Strategy MergeStrategy
DeleteBranch bool
CommitMessage string
WaitForChecks bool
ChecksTimeout int // seconds
}
Options configures merge behavior.
func DefaultOptions ¶
func DefaultOptions() Options
DefaultOptions returns sensible default merge options.
Click to show internal directories.
Click to hide internal directories.