From 25957fd1a3c298140493f2c2c42d2d6b657d2592 Mon Sep 17 00:00:00 2001 From: yashin Date: Thu, 18 Jun 2020 09:37:44 +0800 Subject: [PATCH 01/13] [maven-release-plugin] prepare release gitee-1.1.12 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 117e8ec..c86db72 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ gitee - 1.1.12-SNAPSHOT + 1.1.12 Gitee Plugin This plugin integrates Gitee to Jenkins by faking a Gitee CI Server. This plugin allows Gitee to trigger builds in Jenkins when code is committed or pull requests are opened/updated. It can also send build status back to Gitee. https://wiki.jenkins.io/display/JENKINS/Gitee+Plugin @@ -52,7 +52,7 @@ scm:git:ssh://github.com:jenkinsci/gitee-plugin.git scm:git:git@github.com:jenkinsci/gitee-plugin.git https://github.com/jenkinsci/gitee-plugin - HEAD + gitee-1.1.12 From d0a31c72615278db6cb12359cb9fec17b6fee284 Mon Sep 17 00:00:00 2001 From: yashin Date: Thu, 18 Jun 2020 09:38:05 +0800 Subject: [PATCH 02/13] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index c86db72..87ea801 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ gitee - 1.1.12 + 1.1.13-SNAPSHOT Gitee Plugin This plugin integrates Gitee to Jenkins by faking a Gitee CI Server. This plugin allows Gitee to trigger builds in Jenkins when code is committed or pull requests are opened/updated. It can also send build status back to Gitee. https://wiki.jenkins.io/display/JENKINS/Gitee+Plugin @@ -52,7 +52,7 @@ scm:git:ssh://github.com:jenkinsci/gitee-plugin.git scm:git:git@github.com:jenkinsci/gitee-plugin.git https://github.com/jenkinsci/gitee-plugin - gitee-1.1.12 + HEAD From ea04e83e7a3c9cef85b531af79a570766acedd22 Mon Sep 17 00:00:00 2001 From: yashin Date: Wed, 5 Aug 2020 12:01:46 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dgit=E4=BB=93=E5=BA=93?= =?UTF-8?q?=E4=B8=8E=E8=A7=A6=E5=8F=91=E4=BB=93=E5=BA=93=E4=B8=8D=E4=B8=80?= =?UTF-8?q?=E8=87=B4=E5=AF=BC=E8=87=B4=E6=9E=84=E5=BB=BA=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AbstractWebHookTriggerHandler.java | 21 +++---------------- .../note/NoteHookTriggerHandlerImpl.java | 2 +- .../PipelineHookTriggerHandlerImpl.java | 2 +- .../PullRequestHookTriggerHandlerImpl.java | 2 +- .../push/PushHookTriggerHandlerImpl.java | 2 +- 5 files changed, 7 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/gitee/jenkins/trigger/handler/AbstractWebHookTriggerHandler.java b/src/main/java/com/gitee/jenkins/trigger/handler/AbstractWebHookTriggerHandler.java index 096628a..20e707f 100644 --- a/src/main/java/com/gitee/jenkins/trigger/handler/AbstractWebHookTriggerHandler.java +++ b/src/main/java/com/gitee/jenkins/trigger/handler/AbstractWebHookTriggerHandler.java @@ -84,26 +84,11 @@ public abstract class AbstractWebHookTriggerHandler implement protected abstract BuildStatusUpdate retrieveBuildStatusUpdate(H hook); - protected URIish retrieveUrIish(WebHook hook, GitSCM gitSCM) { - if (gitSCM == null) { - return null; - } - List uris = new ArrayList(); + protected URIish retrieveUrIish(WebHook hook) { + 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())); - } - // uri 需与当前项目仓库个url一致,避免触发多个构建 - for (RemoteConfig remote : gitSCM.getRepositories()) { - for (URIish remoteURL : remote.getURIs()) { - for (URIish uri : uris) { - if (remoteURL.equals(uri)) { - return uri; - } - } - } + return new URIish(hook.getRepository().getUrl()); } } catch (URISyntaxException e) { LOGGER.log(Level.WARNING, "could not parse URL"); diff --git a/src/main/java/com/gitee/jenkins/trigger/handler/note/NoteHookTriggerHandlerImpl.java b/src/main/java/com/gitee/jenkins/trigger/handler/note/NoteHookTriggerHandlerImpl.java index a57f4e6..44cb549 100644 --- a/src/main/java/com/gitee/jenkins/trigger/handler/note/NoteHookTriggerHandlerImpl.java +++ b/src/main/java/com/gitee/jenkins/trigger/handler/note/NoteHookTriggerHandlerImpl.java @@ -125,7 +125,7 @@ class NoteHookTriggerHandlerImpl extends AbstractWebHookTriggerHandler @Override protected RevisionParameterAction createRevisionParameter(NoteHook hook, GitSCM gitSCM) throws NoRevisionToBuildException { - return new RevisionParameterAction(retrieveRevisionToBuild(hook), retrieveUrIish(hook, gitSCM)); + return new RevisionParameterAction(retrieveRevisionToBuild(hook), retrieveUrIish(hook)); } @Override diff --git a/src/main/java/com/gitee/jenkins/trigger/handler/pipeline/PipelineHookTriggerHandlerImpl.java b/src/main/java/com/gitee/jenkins/trigger/handler/pipeline/PipelineHookTriggerHandlerImpl.java index 69bb084..b78f069 100644 --- a/src/main/java/com/gitee/jenkins/trigger/handler/pipeline/PipelineHookTriggerHandlerImpl.java +++ b/src/main/java/com/gitee/jenkins/trigger/handler/pipeline/PipelineHookTriggerHandlerImpl.java @@ -131,7 +131,7 @@ class PipelineHookTriggerHandlerImpl extends AbstractWebHookTriggerHandler @Override protected RevisionParameterAction createRevisionParameter(PushHook hook, GitSCM gitSCM) throws NoRevisionToBuildException { - return new RevisionParameterAction(retrieveRevisionToBuild(hook, gitSCM), retrieveUrIish(hook, gitSCM)); + return new RevisionParameterAction(retrieveRevisionToBuild(hook, gitSCM), retrieveUrIish(hook)); } @Override From cf03c22092e9cda309a373d8600d9a42dc2bd073 Mon Sep 17 00:00:00 2001 From: yashin Date: Wed, 5 Aug 2020 12:26:28 +0800 Subject: [PATCH 04/13] [maven-release-plugin] prepare release gitee-1.1.13 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 87ea801..714e419 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ gitee - 1.1.13-SNAPSHOT + 1.1.13 Gitee Plugin This plugin integrates Gitee to Jenkins by faking a Gitee CI Server. This plugin allows Gitee to trigger builds in Jenkins when code is committed or pull requests are opened/updated. It can also send build status back to Gitee. https://wiki.jenkins.io/display/JENKINS/Gitee+Plugin @@ -52,7 +52,7 @@ scm:git:ssh://github.com:jenkinsci/gitee-plugin.git scm:git:git@github.com:jenkinsci/gitee-plugin.git https://github.com/jenkinsci/gitee-plugin - HEAD + gitee-1.1.13 From 474e06c4bf96664b759c6f5fef09a955e9e27d52 Mon Sep 17 00:00:00 2001 From: yashin Date: Wed, 5 Aug 2020 12:28:44 +0800 Subject: [PATCH 05/13] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 714e419..dd8cb28 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ gitee - 1.1.13 + 1.1.14-SNAPSHOT Gitee Plugin This plugin integrates Gitee to Jenkins by faking a Gitee CI Server. This plugin allows Gitee to trigger builds in Jenkins when code is committed or pull requests are opened/updated. It can also send build status back to Gitee. https://wiki.jenkins.io/display/JENKINS/Gitee+Plugin @@ -52,7 +52,7 @@ scm:git:ssh://github.com:jenkinsci/gitee-plugin.git scm:git:git@github.com:jenkinsci/gitee-plugin.git https://github.com/jenkinsci/gitee-plugin - gitee-1.1.13 + HEAD From 91d8b61f9541b03c1bb200e3971b74935f32fd4e Mon Sep 17 00:00:00 2001 From: yashin Date: Fri, 7 Aug 2020 14:41:56 +0800 Subject: [PATCH 06/13] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=A4=9A=E4=BB=93?= =?UTF-8?q?=E5=BA=93=E6=9E=84=E5=BB=BA=E4=BB=BB=E5=8A=A1push=E8=A7=A6?= =?UTF-8?q?=E5=8F=91=E6=9E=84=E5=BB=BA=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gitee/jenkins/gitee/hook/model/PushHook.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/main/java/com/gitee/jenkins/gitee/hook/model/PushHook.java b/src/main/java/com/gitee/jenkins/gitee/hook/model/PushHook.java index c9ea033..ed3189d 100644 --- a/src/main/java/com/gitee/jenkins/gitee/hook/model/PushHook.java +++ b/src/main/java/com/gitee/jenkins/gitee/hook/model/PushHook.java @@ -111,10 +111,6 @@ public class PushHook extends WebHook { this.project = project; } - public void setRepository(Project project) { - this.project = project; - } - public List getCommits() { return commits; } From a1ecf59abe61ea6c8bd9b193cd03a04591e84eab Mon Sep 17 00:00:00 2001 From: yashin Date: Fri, 7 Aug 2020 14:45:53 +0800 Subject: [PATCH 07/13] [maven-release-plugin] prepare release gitee-1.1.14 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index dd8cb28..1875a40 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ gitee - 1.1.14-SNAPSHOT + 1.1.14 Gitee Plugin This plugin integrates Gitee to Jenkins by faking a Gitee CI Server. This plugin allows Gitee to trigger builds in Jenkins when code is committed or pull requests are opened/updated. It can also send build status back to Gitee. https://wiki.jenkins.io/display/JENKINS/Gitee+Plugin @@ -52,7 +52,7 @@ scm:git:ssh://github.com:jenkinsci/gitee-plugin.git scm:git:git@github.com:jenkinsci/gitee-plugin.git https://github.com/jenkinsci/gitee-plugin - HEAD + gitee-1.1.14 From 51ff954947683ab3be3dd360e9b246c33f35dae2 Mon Sep 17 00:00:00 2001 From: yashin Date: Fri, 7 Aug 2020 14:46:14 +0800 Subject: [PATCH 08/13] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 1875a40..22b8a80 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ gitee - 1.1.14 + 1.1.15-SNAPSHOT Gitee Plugin This plugin integrates Gitee to Jenkins by faking a Gitee CI Server. This plugin allows Gitee to trigger builds in Jenkins when code is committed or pull requests are opened/updated. It can also send build status back to Gitee. https://wiki.jenkins.io/display/JENKINS/Gitee+Plugin @@ -52,7 +52,7 @@ scm:git:ssh://github.com:jenkinsci/gitee-plugin.git scm:git:git@github.com:jenkinsci/gitee-plugin.git https://github.com/jenkinsci/gitee-plugin - gitee-1.1.14 + HEAD From ed4ede6fad5fc640f1a8240b3835680710c4d9b4 Mon Sep 17 00:00:00 2001 From: yashin Date: Fri, 13 Nov 2020 18:00:28 +0800 Subject: [PATCH 09/13] =?UTF-8?q?=E5=A2=9E=E5=8A=A0json=20body=20=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README_zh_CN.md | 6 ++++++ .../com/gitee/jenkins/cause/CauseData.java | 18 +++++++++++++++++- .../jenkins/gitee/hook/model/WebHook.java | 5 +++++ .../note/NoteHookTriggerHandlerImpl.java | 6 ++++++ .../PipelineHookTriggerHandlerImpl.java | 1 + .../PullRequestHookTriggerHandlerImpl.java | 1 + .../push/PushHookTriggerHandlerImpl.java | 1 + .../jenkins/webhook/build/NoteBuildAction.java | 1 + .../webhook/build/PipelineBuildAction.java | 1 + .../webhook/build/PullRequestBuildAction.java | 1 + .../jenkins/webhook/build/PushBuildAction.java | 1 + 11 files changed, 41 insertions(+), 1 deletion(-) diff --git a/README_zh_CN.md b/README_zh_CN.md index e9488cd..7b7aefe 100644 --- a/README_zh_CN.md +++ b/README_zh_CN.md @@ -202,6 +202,9 @@ Gitee Jenkins Plugin 是码云基于 [GitLab Plugin](https://github.com/jenkinsc variables.put("giteeTargetRepoHttpUrl", targetRepoHttpUrl); variables.put("giteeBefore", before); variables.put("giteeAfter", after); + variables.put("giteeBeforeCommitSha", before); + variables.put("giteeAfterCommitSha", after); + variables.put("giteeRef", ref); variables.put("ref", ref); variables.put("beforeSha", beforeSha); variables.put("isTag", isTag); @@ -211,9 +214,12 @@ Gitee Jenkins Plugin 是码云基于 [GitLab Plugin](https://github.com/jenkinsc variables.put("createdAt", createdAt); variables.put("finishedAt", finishedAt); variables.put("duration", buildDuration); + variables.put("jsonBody", jsonBody); + variables.put("noteBody", noteBody); variables.putIfNotNull("giteeTriggerPhrase", triggerPhrase); return variables; } + ``` # 用户支持 diff --git a/src/main/java/com/gitee/jenkins/cause/CauseData.java b/src/main/java/com/gitee/jenkins/cause/CauseData.java index 3964f53..7b2bb8d 100644 --- a/src/main/java/com/gitee/jenkins/cause/CauseData.java +++ b/src/main/java/com/gitee/jenkins/cause/CauseData.java @@ -59,6 +59,8 @@ public final class CauseData { private final String createdAt; private final String finishedAt; private final String buildDuration; + private final String jsonBody; + private final String noteBody; private final boolean created; private final boolean deleted; @@ -70,7 +72,7 @@ public final class CauseData { String targetRepoSshUrl, String targetRepoHttpUrl, String triggeredByUser, String before, String after, String lastCommit, String targetProjectUrl, String triggerPhrase, String pullRequestState, String mergedByUser, String pullRequestAssignee, String ref, String isTag, String sha, String beforeSha, String status, String stages, String createdAt, String finishedAt, - String buildDuration, String pathWithNamespace, boolean created, boolean deleted) { + String buildDuration, String pathWithNamespace, boolean created, boolean deleted, String jsonBody, String noteBody) { this.actionType = checkNotNull(actionType, "actionType must not be null."); this.sourceProjectId = checkNotNull(sourceProjectId, "sourceProjectId must not be null."); this.targetProjectId = checkNotNull(targetProjectId, "targetProjectId must not be null."); @@ -117,6 +119,8 @@ public final class CauseData { this.pathWithNamespace = pathWithNamespace; this.created = created; this.deleted = deleted; + this.jsonBody = jsonBody; + this.noteBody = noteBody; } public Map getBuildVariables() { @@ -162,6 +166,8 @@ public final class CauseData { variables.put("createdAt", createdAt); variables.put("finishedAt", finishedAt); variables.put("duration", buildDuration); + variables.put("jsonBody", jsonBody); + variables.put("noteBody", noteBody); variables.putIfNotNull("giteeTriggerPhrase", triggerPhrase); return variables; } @@ -298,6 +304,10 @@ public final class CauseData { public String getBuildDuration() { return buildDuration; } + public String getJsonBody() { return jsonBody; } + + public String getNoteBody() { return noteBody; } + String getShortDescription() { return actionType.getShortDescription(this); @@ -386,6 +396,8 @@ public final class CauseData { .append(pathWithNamespace, causeData.getPathWithNamespace()) .append(created, causeData.getCreated()) .append(deleted, causeData.getDeleted()) + .append(jsonBody, causeData.getJsonBody()) + .append(noteBody, causeData.getNoteBody()) .isEquals(); } @@ -435,6 +447,8 @@ public final class CauseData { .append(pathWithNamespace) .append(created) .append(deleted) + .append(jsonBody) + .append(noteBody) .toHashCode(); } @@ -484,6 +498,8 @@ public final class CauseData { .append("pathWithNamespace", pathWithNamespace) .append("created", created) .append("deleted", deleted) + .append("jsonBody", jsonBody) + .append("noteBody", noteBody) .toString(); } diff --git a/src/main/java/com/gitee/jenkins/gitee/hook/model/WebHook.java b/src/main/java/com/gitee/jenkins/gitee/hook/model/WebHook.java index dbe07c5..60abcde 100644 --- a/src/main/java/com/gitee/jenkins/gitee/hook/model/WebHook.java +++ b/src/main/java/com/gitee/jenkins/gitee/hook/model/WebHook.java @@ -13,6 +13,11 @@ public abstract class WebHook { private Repository repository; private String objectKind; private String hookName; + private String jsonBody; + + public String getJsonBody() { return this.jsonBody; } + + public void setJsonBody(String json) { this.jsonBody = json; } public String getHookName() { return this.hookName; diff --git a/src/main/java/com/gitee/jenkins/trigger/handler/note/NoteHookTriggerHandlerImpl.java b/src/main/java/com/gitee/jenkins/trigger/handler/note/NoteHookTriggerHandlerImpl.java index 44cb549..cce73f0 100644 --- a/src/main/java/com/gitee/jenkins/trigger/handler/note/NoteHookTriggerHandlerImpl.java +++ b/src/main/java/com/gitee/jenkins/trigger/handler/note/NoteHookTriggerHandlerImpl.java @@ -44,6 +44,10 @@ class NoteHookTriggerHandlerImpl extends AbstractWebHookTriggerHandler PullRequestObjectAttributes objectAttributes = hook.getPullRequest(); if (objectAttributes != null && !objectAttributes.isMergeable()) { LOGGER.log(Level.INFO, "This pull request can not be merge"); + // fixme 无法获取 publisher + // java.lang.ClassCastException: org.jenkinsci.plugins.workflow.job.WorkflowJob cannot be cast to hudson.model.AbstractProject + // at com.gitee.jenkins.publisher.GiteeMessagePublisher.getFromJob(GiteeMessagePublisher.java:65) + // at com.gitee.jenkins.trigger.handler.note.NoteHookTriggerHandlerImpl.handle(NoteHookTriggerHandlerImpl.java:47) GiteeMessagePublisher publisher = GiteeMessagePublisher.getFromJob(job); GiteeClient client = getClient(job); if (publisher != null && client != null) { @@ -120,6 +124,8 @@ class NoteHookTriggerHandlerImpl extends AbstractWebHookTriggerHandler .withTargetProjectUrl(hook.getPullRequest().getTarget().getUrl()) .withTriggerPhrase(hook.getComment().getBody()) .withPathWithNamespace(hook.getPullRequest().getBase().getRepo().getPathWithNamespace()) + .withJsonBody(hook.getJsonBody()) + .withNoteBody(hook.getComment().getBody()) .build(); } diff --git a/src/main/java/com/gitee/jenkins/trigger/handler/pipeline/PipelineHookTriggerHandlerImpl.java b/src/main/java/com/gitee/jenkins/trigger/handler/pipeline/PipelineHookTriggerHandlerImpl.java index b78f069..e03ee1e 100644 --- a/src/main/java/com/gitee/jenkins/trigger/handler/pipeline/PipelineHookTriggerHandlerImpl.java +++ b/src/main/java/com/gitee/jenkins/trigger/handler/pipeline/PipelineHookTriggerHandlerImpl.java @@ -126,6 +126,7 @@ class PipelineHookTriggerHandlerImpl extends AbstractWebHookTriggerHandler .withCreated(hook.getCreated()) .withDeleted(hook.getDeleted()) .withTargetProjectUrl(hook.getProject().getUrl()) + .withJsonBody(hook.getJsonBody()) .build(); } diff --git a/src/main/java/com/gitee/jenkins/webhook/build/NoteBuildAction.java b/src/main/java/com/gitee/jenkins/webhook/build/NoteBuildAction.java index dcfc252..c706360 100644 --- a/src/main/java/com/gitee/jenkins/webhook/build/NoteBuildAction.java +++ b/src/main/java/com/gitee/jenkins/webhook/build/NoteBuildAction.java @@ -30,6 +30,7 @@ public class NoteBuildAction extends BuildWebHookAction { LOGGER.log(Level.FINE, "Note: {0}", toPrettyPrint(json)); this.project = project; this.noteHook = JsonUtil.read(json, NoteHook.class); + this.noteHook.setJsonBody(json); this.secretToken = secretToken; } diff --git a/src/main/java/com/gitee/jenkins/webhook/build/PipelineBuildAction.java b/src/main/java/com/gitee/jenkins/webhook/build/PipelineBuildAction.java index d161f43..8d67b24 100644 --- a/src/main/java/com/gitee/jenkins/webhook/build/PipelineBuildAction.java +++ b/src/main/java/com/gitee/jenkins/webhook/build/PipelineBuildAction.java @@ -31,6 +31,7 @@ public class PipelineBuildAction extends BuildWebHookAction { LOGGER.log(Level.FINE, "Pipeline event: {0}", toPrettyPrint(json)); this.project = project; this.pipelineBuildHook = JsonUtil.read(json, PipelineHook.class); + this.pipelineBuildHook.setJsonBody(json); this.secretToken = secretToken; } diff --git a/src/main/java/com/gitee/jenkins/webhook/build/PullRequestBuildAction.java b/src/main/java/com/gitee/jenkins/webhook/build/PullRequestBuildAction.java index aa88e7b..15d379c 100644 --- a/src/main/java/com/gitee/jenkins/webhook/build/PullRequestBuildAction.java +++ b/src/main/java/com/gitee/jenkins/webhook/build/PullRequestBuildAction.java @@ -30,6 +30,7 @@ public class PullRequestBuildAction extends BuildWebHookAction { LOGGER.log(Level.FINE, "PullRequest: {0}", toPrettyPrint(json)); this.project = project; this.pullRequestHook = JsonUtil.read(json, PullRequestHook.class); + this.pullRequestHook.setJsonBody(json); this.secretToken = secretToken; } diff --git a/src/main/java/com/gitee/jenkins/webhook/build/PushBuildAction.java b/src/main/java/com/gitee/jenkins/webhook/build/PushBuildAction.java index a3a0de3..f47f053 100644 --- a/src/main/java/com/gitee/jenkins/webhook/build/PushBuildAction.java +++ b/src/main/java/com/gitee/jenkins/webhook/build/PushBuildAction.java @@ -37,6 +37,7 @@ public class PushBuildAction extends BuildWebHookAction { LOGGER.log(Level.FINE, "Push: {0}", toPrettyPrint(json)); this.project = project; this.pushHook = JsonUtil.read(json, PushHook.class); + this.pushHook.setJsonBody(json); this.secretToken = secretToken; } From 65d027b4069f287e8bf6a5644148621d947562aa Mon Sep 17 00:00:00 2001 From: yashin Date: Fri, 13 Nov 2020 18:04:30 +0800 Subject: [PATCH 10/13] [maven-release-plugin] prepare release gitee-1.1.15 --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 22b8a80..0bcfd77 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ gitee - 1.1.15-SNAPSHOT + 1.1.15 Gitee Plugin This plugin integrates Gitee to Jenkins by faking a Gitee CI Server. This plugin allows Gitee to trigger builds in Jenkins when code is committed or pull requests are opened/updated. It can also send build status back to Gitee. https://wiki.jenkins.io/display/JENKINS/Gitee+Plugin @@ -52,7 +52,7 @@ scm:git:ssh://github.com:jenkinsci/gitee-plugin.git scm:git:git@github.com:jenkinsci/gitee-plugin.git https://github.com/jenkinsci/gitee-plugin - HEAD + gitee-1.1.15 From 68bc6bf280d8eaccb9f18af6c33aa151279c566f Mon Sep 17 00:00:00 2001 From: yashin Date: Fri, 13 Nov 2020 18:04:48 +0800 Subject: [PATCH 11/13] [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 0bcfd77..a7a0e7b 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ gitee - 1.1.15 + 1.1.16-SNAPSHOT Gitee Plugin This plugin integrates Gitee to Jenkins by faking a Gitee CI Server. This plugin allows Gitee to trigger builds in Jenkins when code is committed or pull requests are opened/updated. It can also send build status back to Gitee. https://wiki.jenkins.io/display/JENKINS/Gitee+Plugin @@ -52,7 +52,7 @@ scm:git:ssh://github.com:jenkinsci/gitee-plugin.git scm:git:git@github.com:jenkinsci/gitee-plugin.git https://github.com/jenkinsci/gitee-plugin - gitee-1.1.15 + HEAD From c6c5d50e41f3d2b424e2c2ee1ccc43dd40266912 Mon Sep 17 00:00:00 2001 From: Guixian Zhang Date: Thu, 31 Dec 2020 18:27:15 +0800 Subject: [PATCH 12/13] GitHub merge --- .../trigger/handler/note/NoteHookTriggerHandlerImpl.java | 2 +- .../handler/pipeline/PipelineHookTriggerHandlerImpl.java | 2 +- .../trigger/handler/pull/PullRequestHookTriggerHandlerImpl.java | 2 +- .../trigger/handler/push/PushHookTriggerHandlerImpl.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/gitee/jenkins/trigger/handler/note/NoteHookTriggerHandlerImpl.java b/src/main/java/com/gitee/jenkins/trigger/handler/note/NoteHookTriggerHandlerImpl.java index 162912e..3eddf9a 100644 --- a/src/main/java/com/gitee/jenkins/trigger/handler/note/NoteHookTriggerHandlerImpl.java +++ b/src/main/java/com/gitee/jenkins/trigger/handler/note/NoteHookTriggerHandlerImpl.java @@ -213,7 +213,7 @@ class NoteHookTriggerHandlerImpl extends AbstractWebHookTriggerHandler @Override protected RevisionParameterAction createRevisionParameter(NoteHook hook, GitSCM gitSCM) throws NoRevisionToBuildException { - return new RevisionParameterAction(retrieveRevisionToBuild(hook), retrieveUrIish(hook)); + return new RevisionParameterAction(retrieveRevisionToBuild(hook), retrieveUrIish(hook, gitSCM)); } @Override diff --git a/src/main/java/com/gitee/jenkins/trigger/handler/pipeline/PipelineHookTriggerHandlerImpl.java b/src/main/java/com/gitee/jenkins/trigger/handler/pipeline/PipelineHookTriggerHandlerImpl.java index c091a81..247307e 100644 --- a/src/main/java/com/gitee/jenkins/trigger/handler/pipeline/PipelineHookTriggerHandlerImpl.java +++ b/src/main/java/com/gitee/jenkins/trigger/handler/pipeline/PipelineHookTriggerHandlerImpl.java @@ -133,7 +133,7 @@ class PipelineHookTriggerHandlerImpl extends AbstractWebHookTriggerHandler @Override protected RevisionParameterAction createRevisionParameter(PushHook hook, GitSCM gitSCM) throws NoRevisionToBuildException { - return new RevisionParameterAction(retrieveRevisionToBuild(hook, gitSCM), retrieveUrIish(hook)); + return new RevisionParameterAction(retrieveRevisionToBuild(hook, gitSCM), retrieveUrIish(hook, gitSCM)); } @Override From fe8db03c7de1dd2f01c39c5d1a2337943194e6d2 Mon Sep 17 00:00:00 2001 From: Guixian Zhang Date: Mon, 4 Jan 2021 13:30:50 +0800 Subject: [PATCH 13/13] GitHub merge --- .../AbstractWebHookTriggerHandler.java | 22 ++++++++----------- .../note/NoteHookTriggerHandlerImpl.java | 19 +++++++++++++++- .../PullRequestHookTriggerHandlerImpl.java | 18 ++++++++++++++- 3 files changed, 44 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/gitee/jenkins/trigger/handler/AbstractWebHookTriggerHandler.java b/src/main/java/com/gitee/jenkins/trigger/handler/AbstractWebHookTriggerHandler.java index 90dde69..158b508 100644 --- a/src/main/java/com/gitee/jenkins/trigger/handler/AbstractWebHookTriggerHandler.java +++ b/src/main/java/com/gitee/jenkins/trigger/handler/AbstractWebHookTriggerHandler.java @@ -22,7 +22,8 @@ import org.eclipse.jgit.transport.URIish; import java.net.URISyntaxException; import java.util.ArrayList; -import java.util.List; +import java.util.HashSet; +import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; @@ -89,24 +90,19 @@ public abstract class AbstractWebHookTriggerHandler implement protected abstract BuildStatusUpdate retrieveBuildStatusUpdate(H hook); protected URIish retrieveUrIish(WebHook hook, GitSCM gitSCM) { - if (hook.getRepository() == null) { + if (hook.getRepository() == null || gitSCM == null) { return null; } try { - if (gitSCM == null) { - return new URIish(hook.getRepository().getGitHttpUrl()); - } - List uris = new ArrayList(); - uris.add(new URIish(hook.getRepository().getUrl())); - uris.add(new URIish(hook.getRepository().getGitHttpUrl())); - uris.add(new URIish(hook.getRepository().getGitSshUrl())); + Set set = new HashSet<>(); + set.add(new URIish(hook.getRepository().getUrl())); + set.add(new URIish(hook.getRepository().getGitHttpUrl())); + set.add(new URIish(hook.getRepository().getGitSshUrl())); // uri 需与当前项目仓库个url一致,避免触发多个构建 for (RemoteConfig remote : gitSCM.getRepositories()) { for (URIish remoteURL : remote.getURIs()) { - for (URIish uri : uris) { - if (remoteURL.equals(uri)) { - return uri; - } + if (set.contains(remoteURL)) { + return remoteURL; } } } diff --git a/src/main/java/com/gitee/jenkins/trigger/handler/note/NoteHookTriggerHandlerImpl.java b/src/main/java/com/gitee/jenkins/trigger/handler/note/NoteHookTriggerHandlerImpl.java index 3eddf9a..9dcdd3d 100644 --- a/src/main/java/com/gitee/jenkins/trigger/handler/note/NoteHookTriggerHandlerImpl.java +++ b/src/main/java/com/gitee/jenkins/trigger/handler/note/NoteHookTriggerHandlerImpl.java @@ -15,6 +15,7 @@ import hudson.model.*; import hudson.plugins.git.GitSCM; import hudson.plugins.git.RevisionParameterAction; import org.apache.commons.lang.StringUtils; +import org.eclipse.jgit.transport.URIish; import javax.servlet.ServletException; import java.io.IOException; @@ -213,7 +214,16 @@ class NoteHookTriggerHandlerImpl extends AbstractWebHookTriggerHandler @Override protected RevisionParameterAction createRevisionParameter(NoteHook hook, GitSCM gitSCM) throws NoRevisionToBuildException { - return new RevisionParameterAction(retrieveRevisionToBuild(hook), retrieveUrIish(hook, gitSCM)); + // 没有配置git源码管理 + if (gitSCM == null) { + return new RevisionParameterAction(retrieveRevisionToBuild(hook)); + } + URIish urIish = retrieveUrIish(hook, gitSCM); + // webhook与git源码管理仓库对不上 + if (urIish == null) { + return new RevisionParameterAction(retrieveRevisionToBuild2(hook)); + } + return new RevisionParameterAction(retrieveRevisionToBuild(hook), urIish); } @Override @@ -230,6 +240,13 @@ class NoteHookTriggerHandlerImpl extends AbstractWebHookTriggerHandler if (hook.getPullRequest().getMergeCommitSha() != null) { return hook.getPullRequest().getMergeCommitSha(); } + } + + return retrieveRevisionToBuild2(hook); + } + + private String retrieveRevisionToBuild2(NoteHook hook) throws NoRevisionToBuildException { + if (hook.getPullRequest() != null) { if (hook.getPullRequest().getMergeReferenceName() != null) { return hook.getPullRequest().getMergeReferenceName(); } diff --git a/src/main/java/com/gitee/jenkins/trigger/handler/pull/PullRequestHookTriggerHandlerImpl.java b/src/main/java/com/gitee/jenkins/trigger/handler/pull/PullRequestHookTriggerHandlerImpl.java index 4941a55..a0b3fe9 100644 --- a/src/main/java/com/gitee/jenkins/trigger/handler/pull/PullRequestHookTriggerHandlerImpl.java +++ b/src/main/java/com/gitee/jenkins/trigger/handler/pull/PullRequestHookTriggerHandlerImpl.java @@ -18,6 +18,7 @@ import hudson.model.*; import hudson.plugins.git.GitSCM; import hudson.plugins.git.RevisionParameterAction; import org.apache.commons.lang.StringUtils; +import org.eclipse.jgit.transport.URIish; import javax.servlet.ServletException; import java.io.IOException; @@ -238,7 +239,16 @@ class PullRequestHookTriggerHandlerImpl extends AbstractWebHookTriggerHandler