Documentation ¶
Index ¶
- func AddTestPullRequestTask(doer *models.User, repoID int64, branch string, isSync bool, ...)
- func AddToTaskQueue(pr *models.PullRequest)
- func ChangeTargetBranch(pr *models.PullRequest, doer *models.User, targetBranch string) (err error)
- func CheckPRReadyToMerge(pr *models.PullRequest) (err error)
- func CloseBranchPulls(doer *models.User, repoID int64, branch string) error
- func CloseRepoBranchesPulls(doer *models.User, repo *models.Repository) error
- func CreateCodeComment(doer *models.User, gitRepo *git.Repository, issue *models.Issue, line int64, ...) (*models.Comment, error)
- func DownloadDiff(pr *models.PullRequest, w io.Writer, patch bool) error
- func DownloadDiffOrPatch(pr *models.PullRequest, w io.Writer, patch bool) error
- func DownloadPatch(pr *models.PullRequest, w io.Writer, patch bool) error
- func GetDiverging(pr *models.PullRequest) (*git.DivergeObject, error)
- func GetPullRequestCommitStatusState(pr *models.PullRequest) (structs.CommitStatusState, error)
- func Init()
- func IsCommitStatusContextSuccess(commitStatuses []*models.CommitStatus, requiredContexts []string) bool
- func IsPullCommitStatusPass(pr *models.PullRequest) (bool, error)
- func IsSignedIfRequired(pr *models.PullRequest, doer *models.User) (bool, error)
- func IsUserAllowedToMerge(pr *models.PullRequest, p models.Permission, user *models.User) (bool, error)
- func IsUserAllowedToUpdate(pull *models.PullRequest, user *models.User) (bool, error)
- func LFSPush(tmpBasePath, mergeHeadSHA, mergeBaseSHA string, pr *models.PullRequest) error
- func Merge(pr *models.PullRequest, doer *models.User, baseGitRepo *git.Repository, ...) (err error)
- func MergeRequiredContextsCommitStatus(commitStatuses []*models.CommitStatus, requiredContexts []string) structs.CommitStatusState
- func NewPullRequest(repo *models.Repository, pull *models.Issue, labelIDs []int64, uuids []string, ...) error
- func PushToBaseRepo(pr *models.PullRequest) (err error)
- func SubmitReview(doer *models.User, gitRepo *git.Repository, issue *models.Issue, ...) (*models.Review, *models.Comment, error)
- func TestPatch(pr *models.PullRequest) error
- func TestPullRequests(ctx context.Context)
- func Update(pull *models.PullRequest, doer *models.User, message string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddTestPullRequestTask ¶
func AddTestPullRequestTask(doer *models.User, repoID int64, branch string, isSync bool, oldCommitID, newCommitID string)
AddTestPullRequestTask adds new test tasks by given head/base repository and head/base branch, and generate new patch for testing as needed.
func AddToTaskQueue ¶
func AddToTaskQueue(pr *models.PullRequest)
AddToTaskQueue adds itself to pull request test task queue.
func ChangeTargetBranch ¶
ChangeTargetBranch changes the target branch of this pull request, as the given user.
func CheckPRReadyToMerge ¶
func CheckPRReadyToMerge(pr *models.PullRequest) (err error)
CheckPRReadyToMerge checks whether the PR is ready to be merged (reviews and status checks)
func CloseBranchPulls ¶
CloseBranchPulls close all the pull requests who's head branch is the branch
func CloseRepoBranchesPulls ¶
func CloseRepoBranchesPulls(doer *models.User, repo *models.Repository) error
CloseRepoBranchesPulls close all pull requests which head branches are in the given repository
func CreateCodeComment ¶
func CreateCodeComment(doer *models.User, gitRepo *git.Repository, issue *models.Issue, line int64, content string, treePath string, isReview bool, replyReviewID int64, latestCommitID string) (*models.Comment, error)
CreateCodeComment creates a comment on the code line
func DownloadDiff ¶
DownloadDiff will write the patch for the pr to the writer
func DownloadDiffOrPatch ¶
DownloadDiffOrPatch will write the patch for the pr to the writer
func DownloadPatch ¶
DownloadPatch will write the patch for the pr to the writer
func GetDiverging ¶
func GetDiverging(pr *models.PullRequest) (*git.DivergeObject, error)
GetDiverging determines how many commits a PR is ahead or behind the PR base branch
func GetPullRequestCommitStatusState ¶
func GetPullRequestCommitStatusState(pr *models.PullRequest) (structs.CommitStatusState, error)
GetPullRequestCommitStatusState returns pull request merged commit status state
func IsCommitStatusContextSuccess ¶
func IsCommitStatusContextSuccess(commitStatuses []*models.CommitStatus, requiredContexts []string) bool
IsCommitStatusContextSuccess returns true if all required status check contexts succeed.
func IsPullCommitStatusPass ¶
func IsPullCommitStatusPass(pr *models.PullRequest) (bool, error)
IsPullCommitStatusPass returns if all required status checks PASS
func IsSignedIfRequired ¶
IsSignedIfRequired check if merge will be signed if required
func IsUserAllowedToMerge ¶
func IsUserAllowedToMerge(pr *models.PullRequest, p models.Permission, user *models.User) (bool, error)
IsUserAllowedToMerge check if user is allowed to merge PR with given permissions and branch protections
func IsUserAllowedToUpdate ¶
IsUserAllowedToUpdate check if user is allowed to update PR with given permissions and branch protections
func LFSPush ¶
func LFSPush(tmpBasePath, mergeHeadSHA, mergeBaseSHA string, pr *models.PullRequest) error
LFSPush pushes lfs objects referred to in new commits in the head repository from the base repository
func Merge ¶
func Merge(pr *models.PullRequest, doer *models.User, baseGitRepo *git.Repository, mergeStyle models.MergeStyle, message string) (err error)
Merge merges pull request to base repository. Caller should check PR is ready to be merged (review and status checks) FIXME: add repoWorkingPull make sure two merges does not happen at same time.
func MergeRequiredContextsCommitStatus ¶
func MergeRequiredContextsCommitStatus(commitStatuses []*models.CommitStatus, requiredContexts []string) structs.CommitStatusState
MergeRequiredContextsCommitStatus returns a commit status state for given required contexts
func NewPullRequest ¶
func NewPullRequest(repo *models.Repository, pull *models.Issue, labelIDs []int64, uuids []string, pr *models.PullRequest, assigneeIDs []int64) error
NewPullRequest creates new pull request with labels for repository.
func PushToBaseRepo ¶
func PushToBaseRepo(pr *models.PullRequest) (err error)
PushToBaseRepo pushes commits from branches of head repository to corresponding branches of base repository. FIXME: Only push branches that are actually updates?
func SubmitReview ¶
func SubmitReview(doer *models.User, gitRepo *git.Repository, issue *models.Issue, reviewType models.ReviewType, content, commitID string) (*models.Review, *models.Comment, error)
SubmitReview creates a review out of the existing pending review or creates a new one if no pending review exist
func TestPatch ¶
func TestPatch(pr *models.PullRequest) error
TestPatch will test whether a simple patch will apply
func TestPullRequests ¶
TestPullRequests checks and tests untested patches of pull requests. TODO: test more pull requests at same time.
Types ¶
This section is empty.