diff --git a/pom.xml b/pom.xml index 73e18b7..9c9e446 100644 --- a/pom.xml +++ b/pom.xml @@ -12,8 +12,9 @@ 2.7.1 - 1.7 - 1.7 + 1.8 + 1.8 + 8 argelbargel.jenkins.plugins @@ -36,27 +37,27 @@ org.jenkins-ci.plugins branch-api - 2.0.9 + 2.0.20 org.jenkins-ci.plugins cloudbees-folder - 6.0.4 + 6.4 org.jenkins-ci.plugins credentials - 2.1.13 + 2.1.16 org.jenkins-ci.plugins git - 3.3.0 + 3.9.1 org.jenkins-ci.plugins git-client - 2.4.5 + 2.7.2 org.jenkins-ci.plugins @@ -66,17 +67,17 @@ org.jenkins-ci.plugins scm-api - 2.1.1 + 2.2.7 org.jenkins-ci.plugins.workflow workflow-api - 2.13 + 2.27 org.jenkins-ci.plugins.workflow workflow-cps - 2.30 + 2.53 org.jenkins-ci.plugins.workflow @@ -86,30 +87,30 @@ org.jenkins-ci.plugins.workflow workflow-multibranch - 2.14 + 2.19 org.gitlab java-gitlab-api - 1.2.7 + 4.0.0 org.jenkins-ci.plugins pipeline-stage-step - 2.2 + 2.3 test org.jenkins-ci.plugins.workflow workflow-basic-steps - 2.4 + 2.7 test org.jenkins-ci.plugins.workflow workflow-durable-task-step - 2.11 + 2.19 test @@ -117,20 +118,20 @@ org.jenkins-ci.plugins.workflow workflow-scm-step - 2.4 + 2.6 org.jenkins-ci.plugins structs - 1.6 + 1.14 test org.jenkins-ci.plugins github-branch-source - 2.0.5 + 2.3.6 test diff --git a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/GitLabSCMBranchBuildStrategy.java b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/GitLabSCMBranchBuildStrategy.java index 1daeb4e..b4afa87 100644 --- a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/GitLabSCMBranchBuildStrategy.java +++ b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/GitLabSCMBranchBuildStrategy.java @@ -10,6 +10,7 @@ import jenkins.scm.api.SCMHead; import jenkins.scm.api.SCMSource; import jenkins.scm.api.SCMSourceDescriptor; +import jenkins.scm.api.SCMRevision; import jenkins.scm.api.mixin.TagSCMHead; import net.sf.json.JSONObject; import org.kohsuke.stapler.StaplerRequest; @@ -47,6 +48,16 @@ private boolean isAutomaticBuild(GitLabSCMSource source, SCMHead head) { return true; } + @Override + public boolean isAutomaticBuild(SCMSource source, SCMHead head, SCMRevision var3, SCMRevision var4) + { + if (source instanceof GitLabSCMSource) { + return isAutomaticBuild((GitLabSCMSource) source, head); + } + + return !TagSCMHead.class.isInstance(head); + } + private boolean isAutomaticBuild(GitLabSCMSource source, GitLabSCMMergeRequestHead head) { if (!head.isMerged()) { return true; diff --git a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/GitLabSCMIcons.java b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/GitLabSCMIcons.java index 6cd948c..9d17441 100644 --- a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/GitLabSCMIcons.java +++ b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/GitLabSCMIcons.java @@ -101,9 +101,9 @@ static String iconFilePathPattern(String name) { private static String groupAvatarUrl(GitlabProject project, String connectionName) throws GitLabAPIException { GitlabNamespace namespace = project.getNamespace(); - if (namespace.getOwnerId() != null) { - return null; - } + // if (namespace.getOwnerId() != null) { + // return null; + // } GitLabGroup group = gitLabAPI(connectionName).getGroup(namespace.getId()); return group.getAvatarUrl(); diff --git a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/SourceHeads.java b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/SourceHeads.java index af1b793..ac1ad1b 100644 --- a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/SourceHeads.java +++ b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/SourceHeads.java @@ -1,11 +1,11 @@ package argelbargel.jenkins.plugins.gitlab_branch_source; - import argelbargel.jenkins.plugins.gitlab_branch_source.api.GitLabAPI; import argelbargel.jenkins.plugins.gitlab_branch_source.api.GitLabAPIException; import argelbargel.jenkins.plugins.gitlab_branch_source.api.GitLabMergeRequest; import argelbargel.jenkins.plugins.gitlab_branch_source.api.filters.GitLabMergeRequestFilter; import argelbargel.jenkins.plugins.gitlab_branch_source.events.GitLabSCMMergeRequestEvent; +import argelbargel.jenkins.plugins.gitlab_branch_source.events.GitLabSCMNoteEvent; import argelbargel.jenkins.plugins.gitlab_branch_source.events.GitLabSCMPushEvent; import argelbargel.jenkins.plugins.gitlab_branch_source.events.GitLabSCMTagPushEvent; import argelbargel.jenkins.plugins.gitlab_branch_source.heads.GitLabSCMHead; @@ -13,12 +13,10 @@ import argelbargel.jenkins.plugins.gitlab_branch_source.heads.GitLabSCMTagHead; import com.dabsquared.gitlabjenkins.gitlab.hook.model.MergeRequestObjectAttributes; import hudson.model.TaskListener; +import jenkins.branch.MultiBranchProject; +import jenkins.model.ParameterizedJobMixIn; import jenkins.plugins.git.AbstractGitSCMSource.SCMRevisionImpl; -import jenkins.scm.api.SCMHead; -import jenkins.scm.api.SCMHeadEvent; -import jenkins.scm.api.SCMHeadObserver; -import jenkins.scm.api.SCMRevision; -import jenkins.scm.api.SCMSourceCriteria; +import jenkins.scm.api.*; import org.gitlab.api.models.GitlabBranch; import org.gitlab.api.models.GitlabTag; @@ -70,6 +68,8 @@ public boolean isHead(@Nonnull Probe probe, @Nonnull TaskListener taskListener) void retrieve(@CheckForNull SCMSourceCriteria criteria, @Nonnull SCMHeadObserver observer, @CheckForNull SCMHeadEvent event, @Nonnull TaskListener listener) throws IOException, InterruptedException { if (event instanceof GitLabSCMMergeRequestEvent) { retrieveMergeRequest(criteria, observer, (GitLabSCMMergeRequestEvent) event, listener); + } else if (event instanceof GitLabSCMNoteEvent) { + retrieveMergeRequest(criteria, observer, (GitLabSCMNoteEvent) event, listener); } else if (event instanceof GitLabSCMTagPushEvent) { retrieveTag(criteria, observer, (GitLabSCMTagPushEvent) event, listener); } else if (event instanceof GitLabSCMPushEvent) { @@ -116,7 +116,7 @@ private void retrieveMergeRequest(SCMSourceCriteria criteria, @Nonnull SCMHeadOb String targetBranch = attributes.getTargetBranch(); if (!source.isExcluded(targetBranch)) { - int mrId = attributes.getId(); + int mrId = attributes.getIid(); log(listener, Messages.GitLabSCMSource_retrievingMergeRequest(mrId)); try { GitLabMergeRequest mr = api().getMergeRequest(source.getProjectId(), mrId); @@ -127,6 +127,11 @@ private void retrieveMergeRequest(SCMSourceCriteria criteria, @Nonnull SCMHeadOb } } } + private void retrieveMergeRequest(SCMSourceCriteria criteria, @Nonnull SCMHeadObserver observer, @Nonnull GitLabSCMNoteEvent event, @Nonnull TaskListener listener) throws IOException, InterruptedException { + MergeRequestObjectAttributes attributes = event.getPayload().getMergeRequest(); + String targetBranch = attributes.getTargetBranch(); + + } private void retrieveBranch(SCMSourceCriteria criteria, @Nonnull SCMHeadObserver observer, @Nonnull GitLabSCMPushEvent event, @Nonnull TaskListener listener) throws IOException, InterruptedException { retrieveBranch(criteria, observer, BRANCHES.remoteName(event.getPayload().getRef()), listener); @@ -233,12 +238,13 @@ private void observe(SCMSourceCriteria criteria, @Nonnull SCMHeadObserver observ String targetBranch = mergeRequest.getTargetBranch(); GitLabSCMMergeRequestHead head = createMergeRequest( - mergeRequest.getId(), + mergeRequest.getIid(), mergeRequest.getTitle(), mergeRequest.getIid(), createBranch(mergeRequest.getSourceProjectId(), mergeRequest.getSourceBranch(), mergeRequest.getSha()), createBranch(mergeRequest.getTargetProjectId(), targetBranch, retrieveBranchRevision(targetBranch)), Objects.equals(mergeRequest.getMergeStatus(), CAN_BE_MERGED)); if (source.getSourceSettings().buildUnmerged(head)) { + observe(criteria, observer, head, listener); } @@ -250,12 +256,15 @@ private void observe(SCMSourceCriteria criteria, @Nonnull SCMHeadObserver observ } if (!source.getSourceSettings().getBranchMonitorStrategy().getBuildBranchesWithMergeRequests() && head.fromOrigin()) { - branchesWithMergeRequests(listener).put(mergeRequest.getId(), mergeRequest.getSourceBranch()); + branchesWithMergeRequests(listener).put(mergeRequest.getIid(), mergeRequest.getSourceBranch()); } } private void observe(SCMSourceCriteria criteria, @Nonnull SCMHeadObserver observer, GitLabSCMHead head, TaskListener listener) throws IOException, InterruptedException { + if (criteria == null || matches(criteria, head, listener)) { + + observer.observe(head, head.getRevision()); } } diff --git a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/actions/GitLabSCMAcceptMergeRequestAction.java b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/actions/GitLabSCMAcceptMergeRequestAction.java index fb9655e..1737440 100644 --- a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/actions/GitLabSCMAcceptMergeRequestAction.java +++ b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/actions/GitLabSCMAcceptMergeRequestAction.java @@ -27,7 +27,7 @@ public final class GitLabSCMAcceptMergeRequestAction extends InvisibleAction imp public GitLabSCMAcceptMergeRequestAction(GitLabMergeRequest MR, int mergeRequestScopedId, String commitMessage, boolean removeSourceBranch) { this.mergeRequestPID = MR.getProjectId(); - this.mergeRequestID = MR.getId(); + this.mergeRequestID = MR.getIid(); this.mergeRequestScopedId = mergeRequestScopedId; this.commitMessage = commitMessage; this.removeSourceBranch = removeSourceBranch; diff --git a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/actions/GitLabSCMPublishAction.java b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/actions/GitLabSCMPublishAction.java index 656a9e7..d5b4020 100644 --- a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/actions/GitLabSCMPublishAction.java +++ b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/actions/GitLabSCMPublishAction.java @@ -102,6 +102,9 @@ public void run() { public void publishResult(Run build, GitLabSCMHeadMetadataAction metadata) { Result buildResult = build.getResult(); updateRunningContexts(build, metadata, toBuildStateFromResult(buildResult)); + + + } private void updateRunningContexts(Run build, GitLabSCMHeadMetadataAction metadata, BuildState state) { @@ -142,7 +145,7 @@ public void onNewHead(FlowNode node) { } else if (isStageEndNode(node, getRunningContexts().peekNodeId())) { - // If this or a prior stage failed then build.result is set to 'FAILED' + // If this or a prior stage failed then build.result is set to 'FAILED' // otherwise build.result is still null and we assume success. BuildState state = success; if(build.getResult() != null) { diff --git a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/api/GitLabAPI.java b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/api/GitLabAPI.java index 69611b7..4107b85 100644 --- a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/api/GitLabAPI.java +++ b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/api/GitLabAPI.java @@ -188,10 +188,11 @@ public List getTree(int id, String ref, String path) throw try { Query query = new Query() .appendIf("path", path) - .appendIf("ref_name", ref); - + .appendIf("ref", ref); + query.append("per_page","10000"); String tailUrl = GitlabProject.URL + "/" + id + "/repository" + GitlabRepositoryTree.URL + query.toString(); + LOGGER.fine("tailurl: " + tailUrl); GitlabRepositoryTree[] tree = delegate.retrieve().to(tailUrl, GitlabRepositoryTree[].class); return Arrays.asList(tree); } catch (Exception e) { diff --git a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/api/GitLabHookEventType.java b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/api/GitLabHookEventType.java index 9ed0c4d..2fa882d 100644 --- a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/api/GitLabHookEventType.java +++ b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/api/GitLabHookEventType.java @@ -8,7 +8,8 @@ public enum GitLabHookEventType { MERGE_REQUEST("Merge Request Hook"), PUSH("Push Hook"), SYSTEM_HOOK("System Hook"), - TAG_PUSH("Tag Push Hook"); + TAG_PUSH("Tag Push Hook"), + NOTE("Note Hook"); public static GitLabHookEventType byHeader(String header) { if (StringUtils.isBlank(header)) { diff --git a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/api/GitLabProjectSelector.java b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/api/GitLabProjectSelector.java index 2065127..e15fdb4 100644 --- a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/api/GitLabProjectSelector.java +++ b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/api/GitLabProjectSelector.java @@ -7,7 +7,7 @@ public enum GitLabProjectSelector { OWNED("owned"), STARRED("starred"), - VISIBLE("visible"); + VISIBLE(""); public static GitLabProjectSelector byId(String id) { for (GitLabProjectSelector value : values()) { diff --git a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/events/CauseDataHelper.java b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/events/CauseDataHelper.java index a55a306..aab19b7 100644 --- a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/events/CauseDataHelper.java +++ b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/events/CauseDataHelper.java @@ -1,10 +1,7 @@ package argelbargel.jenkins.plugins.gitlab_branch_source.events; import com.dabsquared.gitlabjenkins.cause.CauseData; -import com.dabsquared.gitlabjenkins.gitlab.hook.model.Commit; -import com.dabsquared.gitlabjenkins.gitlab.hook.model.MergeRequestHook; -import com.dabsquared.gitlabjenkins.gitlab.hook.model.MergeRequestObjectAttributes; -import com.dabsquared.gitlabjenkins.gitlab.hook.model.PushHook; +import com.dabsquared.gitlabjenkins.gitlab.hook.model.*; import org.eclipse.jgit.util.StringUtils; import java.util.List; @@ -47,6 +44,9 @@ static CauseData buildCauseData(PushHook hook) { static CauseData buildCauseData(MergeRequestHook hook) { return buildCauseData(hook.getObjectAttributes()); } + static CauseData buildCauseData(NoteHook hook) { + return buildCauseData(hook.getMergeRequest()); + } private static CauseData buildCauseData(MergeRequestObjectAttributes attributes) { return causeData() diff --git a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/events/GitLabSCMMergeRequestEvent.java b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/events/GitLabSCMMergeRequestEvent.java index 181a2c7..0c41f35 100644 --- a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/events/GitLabSCMMergeRequestEvent.java +++ b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/events/GitLabSCMMergeRequestEvent.java @@ -82,7 +82,7 @@ Collection heads(@Nonnull GitLabSCMSource source) throw String sourceBranch = attributes.getSourceBranch(); String hash = attributes.getLastCommit().getId(); GitLabSCMMergeRequestHead head = createMergeRequest( - attributes.getId(), attributes.getTitle(), attributes.getIid(), + attributes.getIid(), attributes.getTitle(), attributes.getIid(), createBranch(sourceProjectId, sourceBranch, hash), createBranch(attributes.getTargetProjectId(), attributes.getTargetBranch(), REVISION_HEAD)); diff --git a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/events/GitLabSCMNoteEvent.java b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/events/GitLabSCMNoteEvent.java new file mode 100644 index 0000000..4580955 --- /dev/null +++ b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/events/GitLabSCMNoteEvent.java @@ -0,0 +1,109 @@ +package argelbargel.jenkins.plugins.gitlab_branch_source.events; + + +import argelbargel.jenkins.plugins.gitlab_branch_source.GitLabSCMSource; +import argelbargel.jenkins.plugins.gitlab_branch_source.heads.GitLabSCMHead; +import argelbargel.jenkins.plugins.gitlab_branch_source.heads.GitLabSCMMergeRequestHead; +import com.dabsquared.gitlabjenkins.cause.CauseData; +import com.dabsquared.gitlabjenkins.gitlab.hook.model.MergeRequestHook; +import com.dabsquared.gitlabjenkins.gitlab.hook.model.MergeRequestObjectAttributes; +import com.dabsquared.gitlabjenkins.gitlab.hook.model.NoteHook; + +import javax.annotation.Nonnull; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.logging.Logger; + +import static argelbargel.jenkins.plugins.gitlab_branch_source.events.CauseDataHelper.buildCauseData; +import static argelbargel.jenkins.plugins.gitlab_branch_source.heads.GitLabSCMHead.*; +import static jenkins.scm.api.SCMEvent.Type.*; + + +public final class GitLabSCMNoteEvent extends GitLabSCMHeadEvent { + public static GitLabSCMNoteEvent create(String id, NoteHook hook, String origin) { + // Logger LOGGER = Logger.getLogger(GitLabSCMNoteEvent.class.getName()); + + + if(hook.getObjectAttributes().getNote().equalsIgnoreCase("jenkins retry")) + { + if(hook.getMergeRequest()!=null) + { + return new GitLabSCMNoteEvent(CREATED, id, hook, origin); + } + } + + return null; + + } + + private GitLabSCMNoteEvent(Type type, String id, NoteHook payload, String origin) { + super(type, id, payload, origin); + } + + @Override + CauseData getCauseData() { + Logger.getLogger(GitLabSCMNoteEvent.class.getName()).severe("Note GetCauseData"); + return buildCauseData(getPayload()); + } + + @Override + protected boolean isMatch(@Nonnull GitLabSCMSource source) { + + Logger.getLogger(GitLabSCMNoteEvent.class.getName()).severe("Note ISMatch"); + if (!super.isMatch(source) || !isOrigin(source, getAttributes().getTargetProjectId())) { + + Logger.getLogger(GitLabSCMNoteEvent.class.getName()).severe("Note ISMatch returning false"); + return false; + } + + boolean isOrigin = isOrigin(source, getAttributes().getSourceProjectId()); + boolean rData= ((isOrigin && source.getSourceSettings().getOriginMonitorStrategy().getMonitored()) || (!isOrigin && source.getSourceSettings().getForksMonitorStrategy().getMonitored())); + + + return rData; + } + + private boolean isOrigin(@Nonnull GitLabSCMSource source, Integer projectId) { + + return projectId.equals(source.getProjectId()); + } + + private MergeRequestObjectAttributes getAttributes() { + return getPayload().getMergeRequest(); + } + + @Override + Collection heads(@Nonnull GitLabSCMSource source) throws IOException, InterruptedException { + Collection heads = new ArrayList<>(); + MergeRequestObjectAttributes attributes = getAttributes(); + Integer sourceProjectId = attributes.getSourceProjectId(); + String sourceBranch = attributes.getSourceBranch(); + String hash = attributes.getLastCommit().getId(); + GitLabSCMMergeRequestHead head = createMergeRequest( + attributes.getIid(), attributes.getTitle(), attributes.getIid(), + createBranch(sourceProjectId, sourceBranch, hash), + createBranch(attributes.getTargetProjectId(), attributes.getTargetBranch(), REVISION_HEAD)); + + Logger.getLogger(GitLabSCMNoteEvent.class.getName()).severe("key area sourceid: " + source.getId() + " branch id:"); + if (source.getSourceSettings().buildUnmerged(head)) { + heads.add(head); + } + + if (source.getSourceSettings().buildMerged(head)) { + heads.add(head.merged()); + } + + if (head.fromOrigin()) { + heads.add(createBranch(sourceProjectId, sourceBranch, hash)); + } + + return heads; + } + + @Nonnull + @Override + public String getSourceName() { + return getAttributes().getTarget().getPathWithNamespace(); + } +} diff --git a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/hooks/HookHandler.java b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/hooks/HookHandler.java index 7150041..b0cc27c 100644 --- a/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/hooks/HookHandler.java +++ b/src/main/java/argelbargel/jenkins/plugins/gitlab_branch_source/hooks/HookHandler.java @@ -3,13 +3,11 @@ import argelbargel.jenkins.plugins.gitlab_branch_source.api.GitLabHookEventType; import argelbargel.jenkins.plugins.gitlab_branch_source.api.SystemHook; -import argelbargel.jenkins.plugins.gitlab_branch_source.events.GitLabSCMMergeRequestEvent; -import argelbargel.jenkins.plugins.gitlab_branch_source.events.GitLabSCMPushEvent; -import argelbargel.jenkins.plugins.gitlab_branch_source.events.GitLabSCMSourceEvent; -import argelbargel.jenkins.plugins.gitlab_branch_source.events.GitLabSCMTagPushEvent; +import argelbargel.jenkins.plugins.gitlab_branch_source.events.*; import com.dabsquared.gitlabjenkins.gitlab.hook.model.MergeRequestHook; import com.dabsquared.gitlabjenkins.gitlab.hook.model.PushHook; import com.dabsquared.gitlabjenkins.gitlab.hook.model.WebHook; +import com.dabsquared.gitlabjenkins.gitlab.hook.model.NoteHook; import com.dabsquared.gitlabjenkins.util.JsonUtil; import hudson.util.IOUtils; import jenkins.scm.api.SCMHeadEvent; @@ -55,6 +53,9 @@ private void handle(String id, GitLabHookEventType eventType, HttpServletRequest case SYSTEM_HOOK: handleSystemHook(id, request,requestBody); break; + case NOTE: + SCMHeadEvent.fireNow(GitLabSCMNoteEvent.create(id, readHook(NoteHook.class, requestBody), originOf(request))); + break; default: LOGGER.warning("ignoring hook: " + eventType); throw new IllegalArgumentException("cannot handle hook-event of type " + eventType);