|
|
|
@ -635,6 +635,24 @@ func PrepareViewPullInfo(ctx *context.Context, issue *issues_model.Issue) *git.C |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if pb != nil && pb.EnableStatusCheck { |
|
|
|
|
|
|
|
|
|
var missingRequiredChecks []string |
|
|
|
|
for _, requiredContext := range pb.StatusCheckContexts { |
|
|
|
|
contextFound := false |
|
|
|
|
matchesRequiredContext := createRequiredContextMatcher(requiredContext) |
|
|
|
|
for _, presentStatus := range commitStatuses { |
|
|
|
|
if matchesRequiredContext(presentStatus.Context) { |
|
|
|
|
contextFound = true |
|
|
|
|
break |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if !contextFound { |
|
|
|
|
missingRequiredChecks = append(missingRequiredChecks, requiredContext) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
ctx.Data["MissingRequiredChecks"] = missingRequiredChecks |
|
|
|
|
|
|
|
|
|
ctx.Data["is_context_required"] = func(context string) bool { |
|
|
|
|
for _, c := range pb.StatusCheckContexts { |
|
|
|
|
if c == context { |
|
|
|
@ -703,6 +721,18 @@ func PrepareViewPullInfo(ctx *context.Context, issue *issues_model.Issue) *git.C |
|
|
|
|
return compareInfo |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func createRequiredContextMatcher(requiredContext string) func(string) bool { |
|
|
|
|
if gp, err := glob.Compile(requiredContext); err == nil { |
|
|
|
|
return func(contextToCheck string) bool { |
|
|
|
|
return gp.Match(contextToCheck) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return func(contextToCheck string) bool { |
|
|
|
|
return requiredContext == contextToCheck |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
type pullCommitList struct { |
|
|
|
|
Commits []pull_service.CommitInfo `json:"commits"` |
|
|
|
|
LastReviewCommitSha string `json:"last_review_commit_sha"` |
|
|
|
|