Documentation
¶
Index ¶
Constants ¶
View Source
const ( // CheckStatusUnknown CheckStatusUnknown checkStatus = iota // CheckStatusPending when checks are still running CheckStatusPending // CheckStatusPass when all checks pass CheckStatusPass // CheckStatusFail when some chechs have failed CheckStatusFail )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GitHubInfo ¶
type GitHubInfo struct {
UserName string
RepositoryID string
LocalBranch string
PullRequests []*PullRequest
}
type GitHubInterface ¶
type GitHubInterface interface {
GetInfo(ctx context.Context, gitcmd git.GitInterface) *GitHubInfo
CreatePullRequest(ctx context.Context, info *GitHubInfo, commit git.Commit, prevCommit *git.Commit) *PullRequest
UpdatePullRequest(ctx context.Context, info *GitHubInfo, pr *PullRequest, commit git.Commit, prevCommit *git.Commit)
CommentPullRequest(ctx context.Context, pr *PullRequest, comment string)
MergePullRequest(ctx context.Context, pr *PullRequest)
ClosePullRequest(ctx context.Context, pr *PullRequest)
}
type PullRequest ¶
type PullRequest struct {
ID string
Number int
FromBranch string
ToBranch string
Commit git.Commit
Title string
MergeStatus PullRequestMergeStatus
Merged bool
}
PullRequest has GitHub pull request data
func SortPullRequests ¶
func SortPullRequests(prs []*PullRequest, config *config.Config) []*PullRequest
SortPullRequests sorts the pull requests so that the one that is on top of
master will come first followed by the ones that are stacked on top.
The stack order is maintained so that multiple pull requests can be merged in
the correct order.
func (*PullRequest) Mergeable ¶
func (pr *PullRequest) Mergeable(config *config.Config) bool
Mergeable returns true if the pull request is mergable
func (*PullRequest) Ready ¶
func (pr *PullRequest) Ready(config *config.Config) bool
Ready returns true if pull request is ready to merge
func (*PullRequest) StatusString ¶
func (pr *PullRequest) StatusString(config *config.Config) string
StatusString returs a string representation of the merge status bits
type PullRequestMergeStatus ¶
type PullRequestMergeStatus struct {
// ChecksPass is the status of GitHub checks
ChecksPass checkStatus
// ReviewApproved is true when a pull request is approved by a fellow reviewer
ReviewApproved bool
// NoConflicts is true when there are no merge conflicts
NoConflicts bool
// Stacked is true when all requests in the stack up to this one are ready to merge
Stacked bool
}
PullRequestMergeStatus is the merge status of a pull request
Click to show internal directories.
Click to hide internal directories.