call hooks when issue closed by comment

This commit is contained in:
KOUNOIKE Yuusuke
2018-05-16 23:58:21 +09:00
parent 555b3465ed
commit b1743b4c28
2 changed files with 44 additions and 6 deletions

View File

@@ -353,7 +353,16 @@ trait PullRequestsControllerBase extends ControllerBase {
// close issue by commit message // close issue by commit message
if (pullreq.requestBranch == repository.repository.defaultBranch) { if (pullreq.requestBranch == repository.repository.defaultBranch) {
commits.map { commit => commits.map { commit =>
closeIssuesFromMessage(commit.fullMessage, loginAccount.userName, owner, name) closeIssuesFromMessage(commit.fullMessage, loginAccount.userName, owner, name).foreach {
issueId =>
getIssue(repository.owner, repository.name, issueId.toString).map { issue =>
callIssuesWebHook("closed", repository, issue, baseUrl, loginAccount)
PluginRegistry().getIssueHooks
.foreach(
_.closedByCommitComment(issue, repository, commit.fullMessage, loginAccount)
)
}
}
} }
} }
@@ -458,15 +467,37 @@ trait PullRequestsControllerBase extends ControllerBase {
val defaultBranch = getRepository(owner, name).get.repository.defaultBranch val defaultBranch = getRepository(owner, name).get.repository.defaultBranch
if (pullreq.branch == defaultBranch) { if (pullreq.branch == defaultBranch) {
commits.flatten.foreach { commit => commits.flatten.foreach { commit =>
closeIssuesFromMessage(commit.fullMessage, loginAccount.userName, owner, name) closeIssuesFromMessage(commit.fullMessage, loginAccount.userName, owner, name).foreach {
issueId =>
getIssue(owner, name, issueId.toString).map { issue =>
callIssuesWebHook("closed", repository, issue, baseUrl, loginAccount)
PluginRegistry().getIssueHooks
.foreach(_.closedByCommitComment(issue, repository, commit.fullMessage, loginAccount))
} }
}
}
val issueContent = issue.title + " " + issue.content.getOrElse("")
closeIssuesFromMessage( closeIssuesFromMessage(
issue.title + " " + issue.content.getOrElse(""), issueContent,
loginAccount.userName, loginAccount.userName,
owner, owner,
name name
) ).foreach {
closeIssuesFromMessage(form.message, loginAccount.userName, owner, name) issueId =>
getIssue(owner, name, issueId.toString).map { issue =>
callIssuesWebHook("closed", repository, issue, baseUrl, loginAccount)
PluginRegistry().getIssueHooks
.foreach(_.closedByCommitComment(issue, repository, issueContent, loginAccount))
}
}
closeIssuesFromMessage(form.message, loginAccount.userName, owner, name).foreach {
issueId =>
getIssue(owner, name, issueId.toString).map { issue =>
callIssuesWebHook("closed", repository, issue, baseUrl, loginAccount)
PluginRegistry().getIssueHooks
.foreach(_.closedByCommitComment(issue, repository, issueContent, loginAccount))
}
}
} }
updatePullRequests(owner, name, pullreq.branch) updatePullRequests(owner, name, pullreq.branch)

View File

@@ -1016,7 +1016,14 @@ trait RepositoryViewerControllerBase extends ControllerBase {
// close issue by commit message // close issue by commit message
if (branch == repository.repository.defaultBranch) { if (branch == repository.repository.defaultBranch) {
closeIssuesFromMessage(message, loginAccount.userName, repository.owner, repository.name) closeIssuesFromMessage(message, loginAccount.userName, repository.owner, repository.name).foreach {
issueId =>
getIssue(repository.owner, repository.name, issueId.toString).map { issue =>
callIssuesWebHook("closed", repository, issue, baseUrl, loginAccount)
PluginRegistry().getIssueHooks
.foreach(_.closedByCommitComment(issue, repository, message, loginAccount))
}
}
} }
// call post commit hook // call post commit hook