mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-09 06:55:54 +01:00
(refs #453)Fix "Test Hook" behavior
This commit is contained in:
@@ -2,10 +2,8 @@ package app
|
|||||||
|
|
||||||
import service._
|
import service._
|
||||||
import util.Directory._
|
import util.Directory._
|
||||||
import util.ControlUtil._
|
|
||||||
import util.Implicits._
|
import util.Implicits._
|
||||||
import util.{LockUtil, UsersAuthenticator, OwnerAuthenticator}
|
import util.{LockUtil, UsersAuthenticator, OwnerAuthenticator}
|
||||||
import util.JGitUtil.CommitInfo
|
|
||||||
import jp.sf.amateras.scalatra.forms._
|
import jp.sf.amateras.scalatra.forms._
|
||||||
import org.apache.commons.io.FileUtils
|
import org.apache.commons.io.FileUtils
|
||||||
import org.scalatra.i18n.Messages
|
import org.scalatra.i18n.Messages
|
||||||
@@ -137,7 +135,7 @@ trait RepositorySettingsControllerBase extends ControllerBase {
|
|||||||
* Display the web hook page.
|
* Display the web hook page.
|
||||||
*/
|
*/
|
||||||
get("/:owner/:repository/settings/hooks")(ownerOnly { repository =>
|
get("/:owner/:repository/settings/hooks")(ownerOnly { repository =>
|
||||||
settings.html.hooks(getWebHookURLs(repository.owner, repository.name), repository, flash.get("info"))
|
settings.html.hooks(getWebHookURLs(repository.owner, repository.name), flash.get("url"), repository, flash.get("info"))
|
||||||
})
|
})
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -159,7 +157,7 @@ trait RepositorySettingsControllerBase extends ControllerBase {
|
|||||||
/**
|
/**
|
||||||
* Send the test request to registered web hook URLs.
|
* Send the test request to registered web hook URLs.
|
||||||
*/
|
*/
|
||||||
get("/:owner/:repository/settings/hooks/test")(ownerOnly { repository =>
|
post("/:owner/:repository/settings/hooks/test", webHookForm)(ownerOnly { (form, repository) =>
|
||||||
using(Git.open(getRepositoryDir(repository.owner, repository.name))){ git =>
|
using(Git.open(getRepositoryDir(repository.owner, repository.name))){ git =>
|
||||||
import scala.collection.JavaConverters._
|
import scala.collection.JavaConverters._
|
||||||
val commits = git.log
|
val commits = git.log
|
||||||
@@ -167,15 +165,13 @@ trait RepositorySettingsControllerBase extends ControllerBase {
|
|||||||
.setMaxCount(3)
|
.setMaxCount(3)
|
||||||
.call.iterator.asScala.map(new CommitInfo(_))
|
.call.iterator.asScala.map(new CommitInfo(_))
|
||||||
|
|
||||||
getWebHookURLs(repository.owner, repository.name) match {
|
getAccountByUserName(repository.owner).foreach { ownerAccount =>
|
||||||
case webHookURLs if(webHookURLs.nonEmpty) =>
|
callWebHook(repository.owner, repository.name,
|
||||||
for(ownerAccount <- getAccountByUserName(repository.owner)){
|
List(model.WebHook(repository.owner, repository.name, form.url)),
|
||||||
callWebHook(repository.owner, repository.name, webHookURLs,
|
WebHookPayload(git, ownerAccount, "refs/heads/" + repository.repository.defaultBranch, repository, commits.toList, ownerAccount)
|
||||||
WebHookPayload(git, ownerAccount, "refs/heads/" + repository.repository.defaultBranch, repository, commits.toList, ownerAccount))
|
)
|
||||||
}
|
|
||||||
case _ =>
|
|
||||||
}
|
}
|
||||||
|
flash += "url" -> form.url
|
||||||
flash += "info" -> "Test payload deployed!"
|
flash += "info" -> "Test payload deployed!"
|
||||||
}
|
}
|
||||||
redirect(s"/${repository.owner}/${repository.name}/settings/hooks")
|
redirect(s"/${repository.owner}/${repository.name}/settings/hooks")
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
@(webHooks: List[model.WebHook], repository: service.RepositoryService.RepositoryInfo, info: Option[Any])(implicit context: app.Context)
|
@(webHooks: List[model.WebHook],
|
||||||
|
enteredUrl: Option[Any],
|
||||||
|
repository: service.RepositoryService.RepositoryInfo,
|
||||||
|
info: Option[Any])(implicit context: app.Context)
|
||||||
@import context._
|
@import context._
|
||||||
@import view.helpers._
|
@import view.helpers._
|
||||||
@html.main("Settings", Some(repository)){
|
@html.main("Settings", Some(repository)){
|
||||||
@@ -11,13 +14,13 @@
|
|||||||
<li>@webHook.url <a href="@url(repository)/settings/hooks/delete?url=@urlEncode(webHook.url)" class="remove">(remove)</a></li>
|
<li>@webHook.url <a href="@url(repository)/settings/hooks/delete?url=@urlEncode(webHook.url)" class="remove">(remove)</a></li>
|
||||||
}
|
}
|
||||||
</ul>
|
</ul>
|
||||||
<form method="POST" action="@url(repository)/settings/hooks/add" validate="true">
|
<form method="POST" validate="true">
|
||||||
<div>
|
<div>
|
||||||
<span class="error" id="error-url"></span>
|
<span class="error" id="error-url"></span>
|
||||||
</div>
|
</div>
|
||||||
<input type="text" name="url" id="url" style="width: 300px; margin-bottom: 0px;"/>
|
<input type="text" name="url" id="url" value="@enteredUrl" style="width: 300px; margin-bottom: 0px;"/>
|
||||||
<input type="submit" class="btn" value="Add"/>
|
<input type="submit" class="btn" formaction="@url(repository)/settings/hooks/add" value="Add"/>
|
||||||
<a href="@url(repository)/settings/hooks/test" class="btn">Test Hook</a>
|
<input type="submit" class="btn" formaction="@url(repository)/settings/hooks/test" value="Test Hook"/>
|
||||||
</form>
|
</form>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user