修复不同WebHook相同序号的 PR 请求,并发触发的构建被判断为相同构建取消问题

This commit is contained in:
Guixian Zhang 2020-12-29 18:34:11 +08:00
parent d8badc62f1
commit 4b67166d50
3 changed files with 11 additions and 10 deletions

View File

@ -85,16 +85,17 @@ public abstract class AbstractWebHookTriggerHandler<H extends WebHook> implement
protected abstract BuildStatusUpdate retrieveBuildStatusUpdate(H hook);
protected URIish retrieveUrIish(WebHook hook, GitSCM gitSCM) {
if (gitSCM == null) {
if (hook.getRepository() == null) {
return null;
}
List<URIish> uris = new ArrayList<URIish>();
try {
if (hook.getRepository() != null) {
uris.add(new URIish(hook.getRepository().getUrl()));
uris.add(new URIish(hook.getRepository().getGitHttpUrl()));
uris.add(new URIish(hook.getRepository().getGitSshUrl()));
if (gitSCM == null) {
return new URIish(hook.getRepository().getGitHttpUrl());
}
List<URIish> uris = new ArrayList<URIish>();
uris.add(new URIish(hook.getRepository().getUrl()));
uris.add(new URIish(hook.getRepository().getGitHttpUrl()));
uris.add(new URIish(hook.getRepository().getGitSshUrl()));
// uri 需与当前项目仓库个url一致避免触发多个构建
for (RemoteConfig remote : gitSCM.getRepositories()) {
for (URIish remoteURL : remote.getURIs()) {

View File

@ -139,8 +139,8 @@ class NoteHookTriggerHandlerImpl extends AbstractWebHookTriggerHandler<NoteHook>
private String retrieveRevisionToBuild(NoteHook hook) throws NoRevisionToBuildException {
if (hook.getPullRequest() != null
&& hook.getPullRequest().getMergeReferenceName() != null) {
return hook.getPullRequest().getMergeReferenceName();
&& hook.getPullRequest().getMergeCommitSha() != null) {
return hook.getPullRequest().getMergeCommitSha();
} else {
throw new NoRevisionToBuildException();
}

View File

@ -203,8 +203,8 @@ class PullRequestHookTriggerHandlerImpl extends AbstractWebHookTriggerHandler<Pu
private String retrieveRevisionToBuild(PullRequestHook hook) throws NoRevisionToBuildException {
if (hook.getPullRequest() != null
&& hook.getPullRequest().getMergeReferenceName() != null) {
return hook.getPullRequest().getMergeReferenceName();
&& hook.getPullRequest().getMergeCommitSha() != null) {
return hook.getPullRequest().getMergeCommitSha();
} else {
throw new NoRevisionToBuildException();
}