Merge pull request #22 from rowbawts/test

Merging based on reactions
This commit is contained in:
openest-source-bot[bot] 2023-08-28 23:18:57 +00:00 committed by GitHub
commit 0cfea8c068
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -103,38 +103,47 @@ func processIssueCommentEvent(event *github.IssueCommentEvent) {
for _, comment := range comments {
if strings.Contains(comment.GetBody(), "+1") && !strings.Contains(comment.GetUser().GetLogin(), "bot") {
fmt.Println(comment.GetUser().GetLogin())
return
reactionCount++
}
}
if reactionCount >= reactionCountGoal {
// Merge the pull request
merge := &github.PullRequestOptions{
MergeMethod: "merge", // Change this as needed
}
if reactionCount >= reactionCountGoal {
// Merge the pull request
merge := &github.PullRequestOptions{
MergeMethod: "merge", // Change this as needed
}
_, _, err := client.PullRequests.Merge(ctx, owner, repo, prNumber, "Merging based on reactions", merge)
if err != nil {
log.Println("Error merging pull request:", err)
} else {
log.Println("Pull request #", prNumber, "merged successfully")
}
// Respond with a comment
comment := &github.IssueComment{
Body: github.String("Merging based on reactions :fireworks:"),
}
return
} else {
commentText := "Current :+1: count is (#{reactionCount}) need (#{reactionRemainingCount}) more to merge"
commentText = strings.Replace(commentText, "(#{reactionCount})", strconv.Itoa(reactionCount), 1)
commentText = strings.Replace(commentText, "(#{reactionRemainingCount})", strconv.Itoa(reactionCountGoal-reactionCount), 1)
_, _, err := client.Issues.CreateComment(ctx, owner, repo, prNumber, comment)
if err != nil {
log.Println("Error creating comment:", err)
}
// Respond with a comment
comment := &github.IssueComment{
Body: github.String(commentText),
}
_, _, err = client.PullRequests.Merge(ctx, owner, repo, prNumber, "Merging based on reactions", merge)
if err != nil {
log.Println("Error merging pull request:", err)
} else {
log.Println("Pull request #", prNumber, "merged successfully")
}
_, _, err := client.Issues.CreateComment(ctx, owner, repo, prNumber, comment)
if err != nil {
log.Println("Error creating comment:", err)
}
}
return
} else {
commentText := "Current :+1: count is (#{reactionCount}) need (#{reactionRemainingCount}) more to merge"
commentText = strings.Replace(commentText, "(#{reactionCount})", strconv.Itoa(reactionCount), 1)
commentText = strings.Replace(commentText, "(#{reactionRemainingCount})", strconv.Itoa(reactionCountGoal-reactionCount), 1)
// Respond with a comment
comment := &github.IssueComment{
Body: github.String(commentText),
}
_, _, err := client.Issues.CreateComment(ctx, owner, repo, prNumber, comment)
if err != nil {
log.Println("Error creating comment:", err)
}
}
}