Skip to content

Commit ea7ce5d

Browse files
unemetakezoe
authored andcommitted
add a function named merged (#86)
1 parent ee2d078 commit ea7ce5d

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

src/main/scala/io/github/gitbucket/ci/hook/CIPullRequestHook.scala

+19-4
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class CIPullRequestHook extends PullRequestHook
1818
with WebHookPullRequestService with WebHookPullRequestReviewCommentService with ActivityService with MergeService
1919
with RepositoryService with LabelsService with PrioritiesService with MilestonesService with CIService {
2020

21-
override def created(issue: Issue, repository: RepositoryInfo)(implicit session: Session, context: Context): Unit = {
21+
private def runBuildWith(issue: Issue, repository: RepositoryInfo, isMergeRequest: Boolean)(implicit session: Session, context: Context): Unit = {
2222
if(issue.isPullRequest){
2323
for {
2424
(_, pullreq) <- getPullRequest(issue.userName, issue.repositoryName, issue.issueId)
@@ -34,8 +34,17 @@ class CIPullRequestHook extends PullRequestHook
3434
repositoryName = pullreq.repositoryName,
3535
buildUserName = pullreq.requestUserName,
3636
buildRepositoryName = pullreq.requestRepositoryName,
37-
buildBranch = pullreq.requestBranch,
38-
sha = pullreq.commitIdTo,
37+
buildBranch = isMergeRequest match {
38+
case true => pullreq.branch
39+
case false => pullreq.requestBranch
40+
},
41+
sha = isMergeRequest match {
42+
case true => Using.resource(Git.open(getRepositoryDir(pullreq.userName, pullreq.repositoryName))) { git =>
43+
val objectId = git.getRepository.resolve(pullreq.branch)
44+
objectId.name
45+
}
46+
case false => pullreq.commitIdTo
47+
},
3948
commitMessage = revCommit.getShortMessage,
4049
commitUserName = revCommit.getCommitterIdent.getName,
4150
commitMailAddress = revCommit.getCommitterIdent.getEmailAddress,
@@ -47,6 +56,13 @@ class CIPullRequestHook extends PullRequestHook
4756
}
4857
}
4958

59+
override def created(issue: Issue, repository: RepositoryInfo)(implicit session: Session, context: Context): Unit =
60+
runBuildWith(issue, repository, false)
61+
62+
override def merged(issue: Issue, repository: RepositoryInfo)(implicit session: Session, context: Context): Unit =
63+
runBuildWith(issue, repository, true)
64+
65+
5066
override def addedComment(commentId: Int, content: String, issue: Issue, repository: RepositoryInfo)
5167
(implicit session: Session, context: Context): Unit = {
5268
if(issue.isPullRequest){
@@ -79,5 +95,4 @@ class CIPullRequestHook extends PullRequestHook
7995
}
8096
}
8197

82-
8398
}

0 commit comments

Comments
 (0)