diff --git a/src/main/scala/app/RepositorySettingsController.scala b/src/main/scala/app/RepositorySettingsController.scala index b463ed9..a9285fd 100644 --- a/src/main/scala/app/RepositorySettingsController.scala +++ b/src/main/scala/app/RepositorySettingsController.scala @@ -137,13 +137,16 @@ .setMaxCount(3) .call.iterator.asScala.map(new CommitInfo(_)) - callWebHook(repository.owner, repository.name, - WebHookPayload( - git, - "refs/heads/" + repository.repository.defaultBranch, - repository, - commits.toList, - getAccountByUserName(repository.owner).get)) + val webHookURLs = getWebHookURLs(repository.owner, repository.name) + if(webHookURLs.nonEmpty){ + callWebHook(repository.owner, repository.name, webHookURLs, + WebHookPayload( + git, + "refs/heads/" + repository.repository.defaultBranch, + repository, + commits.toList, + getAccountByUserName(repository.owner).get)) + } flash += "info" -> "Test payload deployed!" } diff --git a/src/main/scala/service/WebHookService.scala b/src/main/scala/service/WebHookService.scala index 011af44..fa81d19 100644 --- a/src/main/scala/service/WebHookService.scala +++ b/src/main/scala/service/WebHookService.scala @@ -29,7 +29,7 @@ def deleteWebHookURL(owner: String, repository: String, url :String): Unit = Query(WebHooks).filter(_.byPrimaryKey(owner, repository, url)).delete - def callWebHook(owner: String, repository: String, payload: WebHookPayload): Unit = { + def callWebHook(owner: String, repository: String, webHookURLs: List[WebHook], payload: WebHookPayload): Unit = { import org.json4s._ import org.json4s.jackson.Serialization import org.json4s.jackson.Serialization.{read, write} @@ -41,8 +41,6 @@ logger.debug("start callWebHook") implicit val formats = Serialization.formats(NoTypeHints) - val webHookURLs = getWebHookURLs(owner, repository) - if(webHookURLs.nonEmpty){ val json = write(payload) val httpClient = new DefaultHttpClient() diff --git a/src/main/scala/servlet/GitRepositoryServlet.scala b/src/main/scala/servlet/GitRepositoryServlet.scala index 8b85025..c7df470 100644 --- a/src/main/scala/servlet/GitRepositoryServlet.scala +++ b/src/main/scala/servlet/GitRepositoryServlet.scala @@ -129,14 +129,17 @@ } // call web hook - val payload = WebHookPayload( - git, - command.getRefName, - getRepository(owner, repository, baseURL).get, - newCommits, - getAccountByUserName(owner).get) + val webHookURLs = getWebHookURLs(owner, repository) + if(webHookURLs.nonEmpty){ + val payload = WebHookPayload( + git, + command.getRefName, + getRepository(owner, repository, baseURL).get, + newCommits, + getAccountByUserName(owner).get) - callWebHook(owner, repository, payload) + callWebHook(owner, repository, webHookURLs, payload) + } } } // update repository last modified time.