From 00e82e1fff90e6f4e9a99830f07118d62d9c5471 Mon Sep 17 00:00:00 2001 From: Alexander Verhaar Date: Fri, 19 Jul 2019 02:15:55 +0200 Subject: [PATCH 1/2] Allow release event --- .../jenkinsci/plugins/gogs/GogsWebHook.java | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/jenkinsci/plugins/gogs/GogsWebHook.java b/src/main/java/org/jenkinsci/plugins/gogs/GogsWebHook.java index 82502db..36accc6 100644 --- a/src/main/java/org/jenkinsci/plugins/gogs/GogsWebHook.java +++ b/src/main/java/org/jenkinsci/plugins/gogs/GogsWebHook.java @@ -23,19 +23,7 @@ associated documentation files (the "Software"), to deal in the Software without package org.jenkinsci.plugins.gogs; -import hudson.Extension; -import hudson.model.Job; -import hudson.model.UnprotectedRootAction; -import hudson.security.ACL; -import hudson.util.Secret; -import net.sf.json.JSONObject; -import org.acegisecurity.context.SecurityContext; -import org.acegisecurity.context.SecurityContextHolder; -import org.apache.commons.codec.binary.Hex; -import org.apache.commons.io.IOUtils; -import org.apache.commons.lang.StringUtils; -import org.kohsuke.stapler.StaplerRequest; -import org.kohsuke.stapler.StaplerResponse; +import static com.google.common.base.Preconditions.checkNotNull; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; @@ -50,7 +38,19 @@ associated documentation files (the "Software"), to deal in the Software without import java.util.Map; import java.util.logging.Logger; -import static com.google.common.base.Preconditions.checkNotNull; +import hudson.Extension; +import hudson.model.Job; +import hudson.model.UnprotectedRootAction; +import hudson.security.ACL; +import hudson.util.Secret; +import net.sf.json.JSONObject; +import org.acegisecurity.context.SecurityContext; +import org.acegisecurity.context.SecurityContextHolder; +import org.apache.commons.codec.binary.Hex; +import org.apache.commons.io.IOUtils; +import org.apache.commons.lang.StringUtils; +import org.kohsuke.stapler.StaplerRequest; +import org.kohsuke.stapler.StaplerResponse; /** * @author Alexander Verhaar @@ -106,8 +106,8 @@ public void doIndex(StaplerRequest req, StaplerResponse rsp) throws IOException // Get X-Gogs-Event String event = req.getHeader("X-Gogs-Event"); - if (!"push".equals(event)) { - result.setStatus(403, "Only push event can be accepted."); + if (!"push".equals(event) && !"release".equals(event)) { + result.setStatus(403, "Only push or release events are accepted."); exitWebHook(result, rsp); return; } From c2ae5db74ed811c14334b16428a5890ea3eed0eb Mon Sep 17 00:00:00 2001 From: Alexander Verhaar Date: Fri, 19 Jul 2019 02:24:50 +0200 Subject: [PATCH 2/2] Fix tests --- src/test/java/org/jenkinsci/plugins/gogs/GogsWebHookTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/jenkinsci/plugins/gogs/GogsWebHookTest.java b/src/test/java/org/jenkinsci/plugins/gogs/GogsWebHookTest.java index a73d016..f1ca814 100644 --- a/src/test/java/org/jenkinsci/plugins/gogs/GogsWebHookTest.java +++ b/src/test/java/org/jenkinsci/plugins/gogs/GogsWebHookTest.java @@ -89,7 +89,7 @@ public void whenEmptyHeaderTypeMustReturnError() throws Exception { //validate that everything was done as planed verify(staplerResponse).setStatus(403); - String expectedOutput = "Only push event can be accepted."; + String expectedOutput = "Only push or release events are accepted."; isExpectedOutput(uniqueFile, expectedOutput); log.info("Test succeeded."); @@ -110,7 +110,7 @@ public void whenWrongHeaderTypeMustReturnError() throws Exception { //validate that everything was done as planed verify(staplerResponse).setStatus(403); - String expectedOutput = "Only push event can be accepted."; + String expectedOutput = "Only push or release events are accepted."; isExpectedOutput(uniqueFile, expectedOutput); log.info("Test succeeded.");