Close issues via commit messages

This commit is contained in:
odz
2013-11-30 18:57:19 +09:00
parent 6b11c1a180
commit dc78dc9b0d
3 changed files with 33 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 {