diff --git a/.github/workflows/cross-repo-issue.yml b/.github/workflows/cross-repo-issue.yml
index c2288da271a..a2aa9471ecf 100644
--- a/.github/workflows/cross-repo-issue.yml
+++ b/.github/workflows/cross-repo-issue.yml
@@ -23,9 +23,10 @@ jobs:
github.event.pull_request.merged
env:
GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}
+ PR_TITLE: ${{ github.event.pull_request.title }}
run: |
echo -e "A PR was merged over on PBS-Java\n\n- [https://github.com/prebid/prebid-server-java/pull/${{github.event.number}}](https://github.com/prebid/prebid-server-java/pull/${{github.event.number}})\n- timestamp: ${{ github.event.pull_request.merged_at}}" > msg
export msg=$(cat msg)
- gh issue create --repo prebid/prebid-server --title "Port PR from PBS-Java: ${{ github.event.pull_request.title }}" \
+ gh issue create --repo prebid/prebid-server --title "Port PR from PBS-Java: $PR_TITLE" \
--body "$msg" \
--label auto
diff --git a/.github/workflows/pr-java-ci.yml b/.github/workflows/pr-java-ci.yml
index 3f68172bf32..1a198dac001 100644
--- a/.github/workflows/pr-java-ci.yml
+++ b/.github/workflows/pr-java-ci.yml
@@ -35,11 +35,9 @@ jobs:
- name: Publish JUnit Report
uses: mikepenz/action-junit-report@v5
+ if: always()
with:
- report_paths: '**/target/surefire-reports/TEST-*.xml'
check_name: 'JUnit Test Report'
- include_passed: true
- comment: true
+ report_paths: '**/target/surefire-reports/TEST-*.xml'
fail_on_failure: true
- updateComment: true
- token: ${{ secrets.GITHUB_TOKEN }}
+ annotate_only: true
diff --git a/extra/bundle/pom.xml b/extra/bundle/pom.xml
index e5ecd041937..ae599096627 100644
--- a/extra/bundle/pom.xml
+++ b/extra/bundle/pom.xml
@@ -5,7 +5,7 @@
org.prebid
prebid-server-aggregator
- 3.37.0-SNAPSHOT
+ 3.38.0-SNAPSHOT
../../extra/pom.xml
diff --git a/extra/modules/confiant-ad-quality/pom.xml b/extra/modules/confiant-ad-quality/pom.xml
index 62be75c4bd3..4059db432d5 100644
--- a/extra/modules/confiant-ad-quality/pom.xml
+++ b/extra/modules/confiant-ad-quality/pom.xml
@@ -5,7 +5,7 @@
org.prebid.server.hooks.modules
all-modules
- 3.37.0-SNAPSHOT
+ 3.38.0-SNAPSHOT
confiant-ad-quality
diff --git a/extra/modules/fiftyone-devicedetection/pom.xml b/extra/modules/fiftyone-devicedetection/pom.xml
index 04447c1e2e8..544033cca2b 100644
--- a/extra/modules/fiftyone-devicedetection/pom.xml
+++ b/extra/modules/fiftyone-devicedetection/pom.xml
@@ -5,7 +5,7 @@
org.prebid.server.hooks.modules
all-modules
- 3.37.0-SNAPSHOT
+ 3.38.0-SNAPSHOT
fiftyone-devicedetection
diff --git a/extra/modules/greenbids-real-time-data/pom.xml b/extra/modules/greenbids-real-time-data/pom.xml
index bcacf785cc8..61da977278d 100644
--- a/extra/modules/greenbids-real-time-data/pom.xml
+++ b/extra/modules/greenbids-real-time-data/pom.xml
@@ -4,7 +4,7 @@
org.prebid.server.hooks.modules
all-modules
- 3.37.0-SNAPSHOT
+ 3.38.0-SNAPSHOT
greenbids-real-time-data
diff --git a/extra/modules/live-intent-omni-channel-identity/pom.xml b/extra/modules/live-intent-omni-channel-identity/pom.xml
index 1e16b624733..f6782ff201d 100644
--- a/extra/modules/live-intent-omni-channel-identity/pom.xml
+++ b/extra/modules/live-intent-omni-channel-identity/pom.xml
@@ -4,7 +4,7 @@
org.prebid.server.hooks.modules
all-modules
- 3.37.0-SNAPSHOT
+ 3.38.0-SNAPSHOT
live-intent-omni-channel-identity
diff --git a/extra/modules/optable-targeting/pom.xml b/extra/modules/optable-targeting/pom.xml
index 0e6b0622299..03383e72ffe 100644
--- a/extra/modules/optable-targeting/pom.xml
+++ b/extra/modules/optable-targeting/pom.xml
@@ -5,7 +5,7 @@
org.prebid.server.hooks.modules
all-modules
- 3.37.0-SNAPSHOT
+ 3.38.0-SNAPSHOT
optable-targeting
diff --git a/extra/modules/ortb2-blocking/pom.xml b/extra/modules/ortb2-blocking/pom.xml
index 32c26829d83..d904007722b 100644
--- a/extra/modules/ortb2-blocking/pom.xml
+++ b/extra/modules/ortb2-blocking/pom.xml
@@ -5,7 +5,7 @@
org.prebid.server.hooks.modules
all-modules
- 3.37.0-SNAPSHOT
+ 3.38.0-SNAPSHOT
ortb2-blocking
diff --git a/extra/modules/pb-request-correction/pom.xml b/extra/modules/pb-request-correction/pom.xml
index 0e6297e934b..b4dda3e3c35 100644
--- a/extra/modules/pb-request-correction/pom.xml
+++ b/extra/modules/pb-request-correction/pom.xml
@@ -5,7 +5,7 @@
org.prebid.server.hooks.modules
all-modules
- 3.37.0-SNAPSHOT
+ 3.38.0-SNAPSHOT
pb-request-correction
diff --git a/extra/modules/pb-response-correction/pom.xml b/extra/modules/pb-response-correction/pom.xml
index 6fda39fe4ec..0770b766e5b 100644
--- a/extra/modules/pb-response-correction/pom.xml
+++ b/extra/modules/pb-response-correction/pom.xml
@@ -5,7 +5,7 @@
org.prebid.server.hooks.modules
all-modules
- 3.37.0-SNAPSHOT
+ 3.38.0-SNAPSHOT
pb-response-correction
diff --git a/extra/modules/pb-richmedia-filter/pom.xml b/extra/modules/pb-richmedia-filter/pom.xml
index 27a17ea0009..6ddd11efcf7 100644
--- a/extra/modules/pb-richmedia-filter/pom.xml
+++ b/extra/modules/pb-richmedia-filter/pom.xml
@@ -5,7 +5,7 @@
org.prebid.server.hooks.modules
all-modules
- 3.37.0-SNAPSHOT
+ 3.38.0-SNAPSHOT
pb-richmedia-filter
diff --git a/extra/modules/pb-rule-engine/pom.xml b/extra/modules/pb-rule-engine/pom.xml
index a8b4caa752f..e23c6767817 100644
--- a/extra/modules/pb-rule-engine/pom.xml
+++ b/extra/modules/pb-rule-engine/pom.xml
@@ -5,7 +5,7 @@
org.prebid.server.hooks.modules
all-modules
- 3.37.0-SNAPSHOT
+ 3.38.0-SNAPSHOT
pb-rule-engine
diff --git a/extra/modules/pom.xml b/extra/modules/pom.xml
index 50eb19cdee5..6c4e70d62ab 100644
--- a/extra/modules/pom.xml
+++ b/extra/modules/pom.xml
@@ -5,7 +5,7 @@
org.prebid
prebid-server-aggregator
- 3.37.0-SNAPSHOT
+ 3.38.0-SNAPSHOT
../../extra/pom.xml
diff --git a/extra/modules/wurfl-devicedetection/pom.xml b/extra/modules/wurfl-devicedetection/pom.xml
index 17a99a407cf..555ea37fdce 100644
--- a/extra/modules/wurfl-devicedetection/pom.xml
+++ b/extra/modules/wurfl-devicedetection/pom.xml
@@ -5,7 +5,7 @@
org.prebid.server.hooks.modules
all-modules
- 3.37.0-SNAPSHOT
+ 3.38.0-SNAPSHOT
wurfl-devicedetection
diff --git a/extra/pom.xml b/extra/pom.xml
index cbf3012ff8d..c41bd328043 100644
--- a/extra/pom.xml
+++ b/extra/pom.xml
@@ -4,7 +4,7 @@
org.prebid
prebid-server-aggregator
- 3.37.0-SNAPSHOT
+ 3.38.0-SNAPSHOT
pom
@@ -47,7 +47,8 @@
1.5.6
1.13
2.2.0
- 1.3.4
+
+ 1.2.3
0.16.0
2.0.10
3.2.4
diff --git a/pom.xml b/pom.xml
index 1c198a3df57..0c79bae025d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.prebid
prebid-server-aggregator
- 3.37.0-SNAPSHOT
+ 3.38.0-SNAPSHOT
extra/pom.xml
@@ -345,11 +345,22 @@
postgresql
test
+
+ org.testcontainers
+ influxdb
+ test
+
org.mock-server
mockserver-client-java
test
+
+ org.influxdb
+ influxdb-java
+ 2.23
+ test
+
diff --git a/src/test/groovy/org/prebid/server/functional/model/config/AccountAuctionConfig.groovy b/src/test/groovy/org/prebid/server/functional/model/config/AccountAuctionConfig.groovy
index 2dc5ff7c77b..b0a37977b4a 100644
--- a/src/test/groovy/org/prebid/server/functional/model/config/AccountAuctionConfig.groovy
+++ b/src/test/groovy/org/prebid/server/functional/model/config/AccountAuctionConfig.groovy
@@ -37,6 +37,8 @@ class AccountAuctionConfig {
BidAdjustment bidAdjustments
BidRounding bidRounding
Integer impressionLimit
+ @JsonProperty("secondarybidders")
+ List secondaryBidders
@JsonProperty("price_granularity")
PriceGranularityType priceGranularitySnakeCase
diff --git a/src/test/groovy/org/prebid/server/functional/model/response/auction/ErrorType.groovy b/src/test/groovy/org/prebid/server/functional/model/response/auction/ErrorType.groovy
index 80f504a05ec..04d6535f8ad 100644
--- a/src/test/groovy/org/prebid/server/functional/model/response/auction/ErrorType.groovy
+++ b/src/test/groovy/org/prebid/server/functional/model/response/auction/ErrorType.groovy
@@ -17,6 +17,7 @@ enum ErrorType {
OPENX("openx"),
AMX("amx"),
AMX_UPPER_CASE("AMX"),
+ OPENX_ALIAS("openxalias"),
@JsonValue
final String value
diff --git a/src/test/groovy/org/prebid/server/functional/model/response/influx/InfluxResponse.groovy b/src/test/groovy/org/prebid/server/functional/model/response/influx/InfluxResponse.groovy
new file mode 100644
index 00000000000..c2fc5b0c6c2
--- /dev/null
+++ b/src/test/groovy/org/prebid/server/functional/model/response/influx/InfluxResponse.groovy
@@ -0,0 +1,6 @@
+package org.prebid.server.functional.model.response.influx
+
+class InfluxResponse {
+
+ List results
+}
diff --git a/src/test/groovy/org/prebid/server/functional/model/response/influx/InfluxResult.groovy b/src/test/groovy/org/prebid/server/functional/model/response/influx/InfluxResult.groovy
new file mode 100644
index 00000000000..ae6f6864334
--- /dev/null
+++ b/src/test/groovy/org/prebid/server/functional/model/response/influx/InfluxResult.groovy
@@ -0,0 +1,10 @@
+package org.prebid.server.functional.model.response.influx
+
+import com.fasterxml.jackson.annotation.JsonProperty
+
+class InfluxResult {
+
+ @JsonProperty("statement_id")
+ Integer statementId
+ List series
+}
diff --git a/src/test/groovy/org/prebid/server/functional/model/response/influx/Series.groovy b/src/test/groovy/org/prebid/server/functional/model/response/influx/Series.groovy
new file mode 100644
index 00000000000..30b4cf86e61
--- /dev/null
+++ b/src/test/groovy/org/prebid/server/functional/model/response/influx/Series.groovy
@@ -0,0 +1,9 @@
+package org.prebid.server.functional.model.response.influx
+
+class Series {
+
+ String name
+ Tags tags
+ List columns
+ List> values
+}
diff --git a/src/test/groovy/org/prebid/server/functional/model/response/influx/Tags.groovy b/src/test/groovy/org/prebid/server/functional/model/response/influx/Tags.groovy
new file mode 100644
index 00000000000..a88807ad8b4
--- /dev/null
+++ b/src/test/groovy/org/prebid/server/functional/model/response/influx/Tags.groovy
@@ -0,0 +1,6 @@
+package org.prebid.server.functional.model.response.influx
+
+class Tags {
+
+ String measurement
+}
diff --git a/src/test/groovy/org/prebid/server/functional/service/PrebidServerService.groovy b/src/test/groovy/org/prebid/server/functional/service/PrebidServerService.groovy
index 9e760b7173e..249d6fa3f13 100644
--- a/src/test/groovy/org/prebid/server/functional/service/PrebidServerService.groovy
+++ b/src/test/groovy/org/prebid/server/functional/service/PrebidServerService.groovy
@@ -25,6 +25,7 @@ import org.prebid.server.functional.model.response.cookiesync.CookieSyncResponse
import org.prebid.server.functional.model.response.cookiesync.RawCookieSyncResponse
import org.prebid.server.functional.model.response.currencyrates.CurrencyRatesResponse
import org.prebid.server.functional.model.response.getuids.GetuidResponse
+import org.prebid.server.functional.model.response.influx.InfluxResponse
import org.prebid.server.functional.model.response.infobidders.BidderInfoResponse
import org.prebid.server.functional.model.response.setuid.SetuidResponse
import org.prebid.server.functional.model.response.status.StatusResponse
@@ -42,6 +43,8 @@ import java.time.format.DateTimeFormatter
import static io.restassured.RestAssured.given
import static java.time.ZoneOffset.UTC
+import static org.prebid.server.functional.testcontainers.Dependencies.influxdbContainer
+
class PrebidServerService implements ObjectMapperWrapper {
@@ -59,10 +62,12 @@ class PrebidServerService implements ObjectMapperWrapper {
static final String HTTP_INTERACTION_ENDPOINT = "/logging/httpinteraction"
static final String COLLECTED_METRICS_ENDPOINT = "/collected-metrics"
static final String PROMETHEUS_METRICS_ENDPOINT = "/metrics"
+ static final String INFLUX_DB_ENDPOINT = "/query"
static final String UIDS_COOKIE_NAME = "uids"
private final PrebidServerContainer pbsContainer
private final RequestSpecification requestSpecification
+ private final RequestSpecification influxRequestSpecification
private final RequestSpecification adminRequestSpecification
private final RequestSpecification prometheusRequestSpecification
@@ -75,6 +80,8 @@ class PrebidServerService implements ObjectMapperWrapper {
this.pbsContainer = pbsContainer
requestSpecification = new RequestSpecBuilder().setBaseUri(pbsContainer.rootUri)
.build()
+ influxRequestSpecification = new RequestSpecBuilder().setBaseUri(pbsContainer.influxUri)
+ .build()
adminRequestSpecification = buildAndGetRequestSpecification(pbsContainer.adminRootUri, authenticationScheme)
prometheusRequestSpecification = buildAndGetRequestSpecification(pbsContainer.prometheusRootUri, authenticationScheme)
}
@@ -290,6 +297,16 @@ class PrebidServerService implements ObjectMapperWrapper {
decode(response.asString(), new TypeReference