Merge branch 'stable-3.9'

* stable-3.9:
  TestEventPublisher: double wait for event to 1000ms
  Adapt to the new Response API
  Add Jenkins pipeline for CI/CD validation with Gerrit-CI

Change-Id: Ic8ac5520e909b0b8ac4ee4d3366011aaeb5be082
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..84c2561
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,2 @@
+pluginPipeline(formatCheckId: 'gerritforge:plugins-events-eiffel-code-style',
+                buildCheckId: 'gerritforge:plugins-events-eiffel-build-test')
diff --git a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/rest/EventCreationResponse.java b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/rest/EventCreationResponse.java
index 8303940..61a766f 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/rest/EventCreationResponse.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/eventseiffel/rest/EventCreationResponse.java
@@ -19,6 +19,7 @@
 import static com.googlesource.gerrit.plugins.eventseiffel.eiffel.dto.EiffelEventType.SCC;
 import static com.googlesource.gerrit.plugins.eventseiffel.eiffel.dto.EiffelEventType.SCS;
 
+import com.google.common.collect.ImmutableMultimap;
 import com.google.common.collect.Lists;
 import com.google.gerrit.extensions.restapi.CacheControl;
 import com.google.gerrit.extensions.restapi.Response;
@@ -78,6 +79,11 @@
   }
 
   @Override
+  public ImmutableMultimap<String, String> headers() {
+    return ImmutableMultimap.of();
+  }
+
+  @Override
   public String toString() {
     return "["
         + statusCode()
diff --git a/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/TestEventPublisher.java b/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/TestEventPublisher.java
index 7b4569e..e7c8869 100644
--- a/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/TestEventPublisher.java
+++ b/src/test/java/com/googlesource/gerrit/plugins/eventseiffel/TestEventPublisher.java
@@ -34,7 +34,7 @@
 @Ignore
 public class TestEventPublisher implements Runnable, EiffelEventHub.Consumer {
   /* Milliseconds after which the publisher-thread is expected to have handled the event. */
-  public static int MILLIS_TO_WAIT = 500;
+  public static int MILLIS_TO_WAIT = 1000;
 
   Map<EventKey, EiffelEvent> publishedEvents = Maps.newConcurrentMap();
   List<EventKey> actualOrder = Lists.newArrayList();