Merge branch 'closing-issues-via-commit-messages' of https://github.com/odz/gitbucket into odz-closing-issues-via-commit-messages

This commit is contained in:
takezoe
2014-03-02 04:02:45 +09:00
3 changed files with 32 additions and 0 deletions

View File

@@ -314,6 +314,18 @@ trait IssuesService {
}.toList
}
def closeIssuesFromMessage(message: String, userName: String, owner: String, repository: String) = {
val regex = "(?i)(?<!\\w)(?:fix(?:e[sd])?|resolve[sd]?|close[sd]?)\\s+#(\\d+)(?!\\w)".r
regex.findAllIn(message).matchData.map(_.group(1)).foreach { issueId =>
getIssue(owner, repository, issueId) match {
case Some(issue) if !issue.closed => {
createComment(owner, repository, userName, issue.issueId, "Close", "close")
updateClosed(owner, repository, issue.issueId, true)
}
case _ =>
}
}
}
}
object IssuesService {